Volume Forks [Trendoscope]🎲 Volume Forks - Advanced Price Analysis with Recursive Auto-Pitchfork and Angled Volume Profile
The Volume Forks Indicator is a comprehensive research tool that combines two innovative techniques, Recursive Auto-Pitchfork and Angled Volume Profile . This indicator provides traders with valuable insights into price dynamics by integrating accurate pitchfork drawing and volume analysis over angled levels. The indicator does following things
Detects Pitchfork formations automatically on the chart over Recursive Zigzag
Instead of drawing forks based on fib levels, volume distribution over ABC of pitchfork is calculated and drawn in the direction of the handle.
🎲 Brief about Pitchfork
Pitchfork is drawn when price forms ABC pattern. Pitchfork draws a series of parallel lines in the direction of trend which can be used for support and resistance.
There are many methods of drawing pitchfork. In all cases, a line joining BC will make the base of pitchfork and fork lines are drawn from different points of the base. All the fork lines will be parallel. But, the handle of the base defines the direction of fork lines. Classification of pitchfork is mainly based on the starting and ending points of the handle.
🎲 Regular Types
Here, end of the handle is always fixed and it will be the mid point of B and C.
🎯 Andrews Pitchfork
Handle starts from A and joins the base at mid of B and C.
Forks are drawn based on fib ratios from the handle
🎯 Schiff Pitchfork
Handle starts from Bar of A and price of middle of AB and joins the base at mid of B and C
Forks are drawn based on fib ratios from the handle
🎯 Modified Schiff Pitchfork
Handle starts from mid of A and B and joins the base at mid of B and C
Forks are drawn based on fib ratios from the handle
🎲 Inside Types
Here, C will act as end of the handle which joins the Base BC .
🎯 Andrews Pitchfork (Inside)
Handle starts from A and joins the base at C
Forks are drawn based on fib ratios from the handle
🎯 Schiff Pitchfork (Inside)
Handle starts from Bar of A and price of (A+B)/2 and joins the base at C
Forks are drawn based on fib ratios from the handle
🎯 Modified Schiff Pitchfork (Inside)
Handle starts from mid of A and B and joins the base at C
Forks are drawn based on fib ratios from the handle
🎲 Brief about Pitchfork
The Angled Volume Profile technique expands on the concept of volume profile by measuring volume distribution levels over angled levels rather than just horizontal levels. By selecting a starting point and angle interactively, traders can assess volume distribution within specific price trends. This feature is particularly useful for analysing volume dynamics in trending markets.
🎲 Settings
Indicator settings include few things which determine the scanning of pitchforks and few which determines drawing of volume profile lines.
Please note that, due to pine limitations of 500 lines, if there are too many formations on the chart, volume profile may not appear correctly. If that happens, please reduce the number of volume forks per formation.
在腳本中搜尋"volume profile"
Delta Volume Candles [LucF]█ OVERVIEW
This indicator plots on-chart volume delta information using candles that can replace your normal candles, tops and bottoms appended to normal candles, optional MAs of those tops and bottoms levels, a divergence channel and a chart background. The indicator calculates volume delta using intrabar analysis, meaning that it uses the lower timeframe bars constituting each chart bar.
█ CONCEPTS
Volume Delta
The volume delta concept divides a bar's volume in "up" and "down" volumes. The delta is calculated by subtracting down volume from up volume. Many calculation techniques exist to isolate up and down volume within a bar. The simplest use the polarity of interbar price changes to assign their volume to up or down slots, e.g., On Balance Volume or the Klinger Oscillator . Others such as Chaikin Money Flow use assumptions based on a bar's OHLC values. The most precise calculation method uses tick data and assigns the volume of each tick to the up or down slot depending on whether the transaction occurs at the bid or ask price. While this technique is ideal, it requires huge amounts of data on historical bars, which considerably limits the historical depth of charts and the number of symbols for which tick data is available. Furthermore, historical tick data is not yet available on TradingView.
This indicator uses intrabar analysis to achieve a compromise between the simplest and most precise methods of calculating volume delta. It is currently the most precise method usable on TradingView charts. TradingView's Volume Profile built-in indicators use it, as do the CVD - Cumulative Volume Delta Candles and CVD - Cumulative Volume Delta (Chart) indicators published from the TradingView account . My Delta Volume Channels and Volume Delta Columns Pro indicators also use intrabar analysis. Other volume delta indicators such as my Realtime 5D Profile use realtime chart updates to calculate volume delta without intrabar analysis, but that type of indicator only works in real time; they cannot calculate on historical bars.
This is the logic I use to determine the polarity of intrabars, which determines the up or down slot where its volume is added:
• If the intrabar's open and close values are different, their relative position is used.
• If the intrabar's open and close values are the same, the difference between the intrabar's close and the previous intrabar's close is used.
• As a last resort, when there is no movement during an intrabar, and it closes at the same price as the previous intrabar, the last known polarity is used.
Once all intrabars making up a chart bar have been analyzed and the up or down property of each intrabar's volume determined, the up volumes are added, and the down volumes subtracted. The resulting value is volume delta for that chart bar, which can be used as an estimate of the buying/selling pressure on an instrument. Not all markets have volume information. Without it, this indicator is useless.
Intrabar analysis
Intrabars are chart bars at a lower timeframe than the chart's. The timeframe used to access intrabars determines the number of intrabars accessible for each chart bar. On a 1H chart, each chart bar of an active market will, for example, usually contain 60 bars at the lower timeframe of 1min, provided there was market activity during each minute of the hour.
This indicator automatically calculates an appropriate lower timeframe using the chart's timeframe and the settings you use in the script's "Intrabars" section of the inputs. As it can access lower timeframes as small as seconds when available, the indicator can be used on charts at relatively small timeframes such as 1min, provided the market is active enough to produce bars at second timeframes.
The quantity of intrabars analyzed in each chart bar determines:
• The precision of calculations (more intrabars yield more precise results).
• The chart coverage of calculations (there is a 100K limit to the quantity of intrabars that can be analyzed on any chart,
so the more intrabars you analyze per chart bar, the less chart bars can be calculated by the indicator).
The information box displayed at the bottom right of the chart shows the lower timeframe used for intrabars, as well as the average number of intrabars detected for chart bars and statistics on chart coverage.
Balances
This indicator calculates five balances from volume delta values. The balances are oscillators with a zero centerline; positive values are bullish, and negative values are bearish. It is important to understand the balances as they can be used to:
• Color candle bodies.
• Calculate body and top and bottom divergences.
• Color an EMA channel.
• Color the chart's background.
• Configure markers and alerts.
The five balances are:
1 — Bar Balance : This is the only balance using instant values; it is simply the subtraction of the down volume from the up volume on the bar, so the instant volume delta for that bar.
2 — Average Balance : Calculates a distinct EMA for both the up and down volumes, and subtracts the down EMA from the up EMA.
The result is akin to MACD's histogram because it is the subtraction of two moving averages.
3 — Momentum Balance : Starts by calculating, separately for both up and down volumes, the difference between the same EMAs used in "Average Balance" and
an SMA of twice the period used for the "Average Balance" EMAs. The difference for the up side is subtracted from the difference for the down side,
and an RSI of that value is calculated and brought over the −50/+50 scale.
4 — Relative Balance : The reference values used in the calculation are the up and down EMAs used in the "Average Balance".
From those, we calculate two intermediate values using how much the instant up and down volumes on the bar exceed their respective EMA — but with a twist.
If the bar's up volume does not exceed the EMA of up volume, a zero value is used. The same goes for the down volume with the EMA of down volume.
Once we have our two intermediate values for the up and down volumes exceeding their respective MA, we subtract them. The final value is an ALMA of that subtraction.
The rationale behind using zero values when the bar's up/down volume does not exceed its EMA is to only take into account the more significant volume.
If both instant volume values exceed their MA, then the difference between the two is the signal's value.
The signal is called "relative" because the intermediate values are the difference between the instant up/down volumes and their respective MA.
This balance flatlines when the bar's up/down volumes do not exceed their EMAs, which makes it useful to spot areas where trader interest dwindles, such as consolidations.
The smaller the period of the final value's ALMA, the more easily it will flatline. These flat zones should be considered no-trade zones.
5 — Percent Balance : This balance is the ALMA of the ratio of the "Bar Balance" over the total volume for that bar.
From the balances and marker conditions, two more values are calculated:
1 — Marker Bias : This sums the up/down (+1/‒1) occurrences of the markers 1 to 4 over a period you define, so it ranges from −4 to +4, times the period.
Its calculation will depend on the modes used to calculate markers 3 and 4.
2 — Combined Balances : This is the sum of the bull/bear (+1/−1) states of each of the five balances, so it ranges from −5 to +5.
The periods for all of these balances can be configured in the "Periods" section at the bottom of the script's inputs. As you cannot see the balances on the chart, you can use my Volume Delta Columns Pro indicator in a pane; it can plot the same balances, so you will be able to analyze them.
Divergences
In the context of this indicator, a divergence is any bar where the bear/bull state of a balance (above/below its zero centerline) diverges from the polarity of a chart bar. No directional bias is assigned to divergences when they occur. Candle bodies and tops/bottoms can each be colored differently on divergences detected from distinct balances.
Divergence Channel
The divergence channel is the space between two levels (by default, the bar's open and close ) saved when divergences occur. When price (by default the close ) has breached a channel and a new divergence occurs, a new channel is created. Until that new channel is breached, bars where additional divergences occur will expand the channel's levels if the bar's price points are outside the channel.
Prices breaches of the divergence channel will change its state. Divergence channels can be in one of three different states:
• Bull (green): Price has breached the channel to the upside.
• Bear (red): Price has breached the channel to the downside.
• Neutral (gray): The channel has not yet been breached.
█ HOW TO USE THE INDICATOR
I do not make videos to explain how to use my indicators. I do, however, try hard to include in their description everything one needs to understand what they do. From there, it's up to you to explore and figure out if they can be useful in your trading practice. Communicating in videos what this description and the script's tooltips contain would make for very long videos that would likely exceed the attention span of most people who find this description too long. There is no quick way to understand an indicator such as this one because it uses many different concepts and has quite a bit of settings one can use to modify its visuals and behavior — thus how one uses it. I will happily answer questions on the inner workings of the indicator, but I do not answer questions like "How do I trade using this indicator?" A useful answer to that question would require an in-depth analysis of who you are, your trading methodology and objectives, which I do not have time for. I do not teach trading.
Start by loading the indicator on an active chart containing volume information. See here if you need help.
The default configuration displays:
• Normal candles where the bodies are only colored if the bar's volume has increased since the last bar.
If you want to use this indicator's candles, you may want to disable your chart's candles by clicking the eye icon to the right of the symbol's name in the top left of the chart.
• A top or bottom appended to the normal candles. It represents the difference between up and down volume for that bar
and is positioned at the top or bottom, depending on its polarity. If up volume is greater than down volume, a top is displayed. If down volume is greater, a bottom is plotted.
The size of tops and bottoms is determined by calculating a factor which is the proportion of volume delta over the bar's total volume.
That factor is then used to calculate the top or bottom size relative to a baseline of the average candle body size of the last 100 bars.
• An information box in the bottom right displaying intrabar and chart coverage information.
• A light red background when the intrabar volume differs from the chart's volume by more than 1%.
The script's inputs contain tooltips explaining most of the fields. I will not repeat them here. Following is a brief description of each section of the indicator's inputs which will give you an idea of what the indicator can do:
Normal Candles is where you configure the replacement candles plotted by the script. You can choose from different coloring schemes for their bodies and specify a unique color for bodies where a divergence calculated using the method you choose occurs.
Volume Tops & Botttoms is where you configure the display of tops and bottoms, and their EMAs. The EMAs are calculated from the high point of tops and the low point of bottoms. They can act as a channel to evaluate price, and you can choose to color the channel using a gradient reflecting the advances/declines in the balance of your choice.
Divergence Channel is where you set up the appearance and behavior of the divergence channel. These areas represent levels where price and volume delta information do not converge. They can be interpreted as regions with no clear direction from where one will look for breaches. You can configure the channel to take into account one or both types of divergences you have configured for candle bodies and tops/bottoms.
Background allows you to configure a gradient background color that reflects the advances/declines in the balance of your choice. You can use this to provide context to the volume delta values from bars. You can also control the background color displayed on volume discrepancies between the intrabar and the chart's timeframe.
Intrabars is where you choose the calculation mode determining the lower timeframe used to access intrabars. The indicator uses the chart's timeframe and the type of market you are on to calculate the lower timeframe. Your setting there should reflect which compromise you prefer between the precision of calculations and chart coverage. This is also where you control the display of the information box in the lower right corner of the chart.
Markers allows you to control the plotting of chart markers on different conditions. Their configuration determines when alerts generated from the indicator will fire. Note that in order to generate alerts from this script, they must be created from your chart. See this Help Center page to learn how. Only the last 500 markers will be visible on the chart, but this will not affect the generation of alerts.
Periods is where you configure the periods for the balances and the EMAs used in the indicator.
The raw values calculated by this script can be inspected using the Data Window.
█ INTERPRETATION
Rightly or wrongly, volume delta is considered by many a useful complement to the interpretation of price action. I use it extensively in an attempt to find convergence between my read of volume delta and price movement — not so much as a predictor of future price movement. No system or person can predict the future. Accordingly, I consider people who speak or act as if they know the future with certainty to be dangerous to themselves and others; they are charlatans, imprudent or blissfully ignorant.
I try to avoid elaborate volume delta interpretation schemes involving too many variables and prefer to keep things simple:
• Trends that have more chances of continuing should be accompanied by VD of the same polarity.
In trends, I am looking for "slow and steady". I work from the assumption that traders and systems often overreact, which translates into unproductive volatility.
Wild trends are more susceptible to overreactions.
• I prefer steady VD values over wildly increasing ones, as large VD increases often come with increased price volatility, which can backfire.
Large VD values caused by stopping volume will also often occur on trend reversals with abnormally high candles.
• Prices escaping divergence channels may be leading a trend in that direction, although there is no telling how long that trend will last; could be just a few bars or hundreds.
When price is in a channel, shifts in VD balances can sometimes give us an idea of the direction where price has the most chance of breaking.
• Dwindling VD will often indicate trend exhaustion and predate reversals by many bars, but the problem is that mere pauses in a trend will often produce the same behavior in VD.
I think it is too perilous to infer rigidly from VD decreases.
Divergence Channel
Here I have configured the divergence channels to be visible. First, I set the bodies to display divergences on the default Bar Balance. They are indicated by yellow bodies. Then I activated the divergence channels by choosing to draw levels on body divergences and checked the "Fill" checkbox to fill the channel with the same color as the levels. The divergence channel is best understood as a direction-less area from where a breach can be acted on if other variables converge with the breach's direction:
Tops and Bottoms EMAs
I find these EMAs rather interesting. They have no equivalent elsewhere, as they are calculated from the top and bottom values this indicator plots. The only similarity they have with volume-weighted MAs, including VWAP, is that they use price and volume. This indicator's Tops and Bottoms EMAs, however, use the price and volume delta. While the channel differs from other channels in how it is calculated, it can be used like others, as a baseline from which to evaluate price movement or, alternatively, as stop levels. Remember that you can change the period used for the EMAs in the "Periods" section of the inputs.
This chart shows the EMAs in action, filled with a gradient representing the advances/decline from the Momentum balance. Notice the anomaly in the chart's latest bars where the Momentum balance gradient has been indicating a bullish bias for some time, during which price was mostly below the EMAs. Price has just broken above the channel on positive VD. My interpretation of this situation would be that it is a risky opportunity for a long trade in the larger context where the market has been in a downtrend since the 5th. Intrepid traders choosing to enter here could do so with a "make or break" tight stop that will minimize their losses should the market continue its downtrend while hopefully preserving the potential upside of price continuing on the longer-term uptrend prevalent since the 28th:
█ NOTES
Volume
If you use indicators such as this one which depends on volume information, it is important to realize that the volume data they consume comes from data feeds, and that all data feeds are NOT created equally. Those who create the data feeds we use must make decisions concerning the nature of the transactions they tally and the way they are tallied in each feed, and these decisions affect the nature of our volume data. My Volume X-ray publication discusses some of the reasons why volume information from different timeframes, brokers/exchanges or sectors may vary considerably. I encourage you to read it. This indicator's display of a warning through a background color on volume discrepancies between the timeframe used to access intrabars and the chart's timeframe is an attempt to help you realize these variations in feeds. Don't take things for granted, and understand that the quality of a given feed's volume information affects the quality of the results this indicator calculates.
Markets as ecosystems
I believe it is perilous to think that behavioral patterns you discover in one market through the lens of this or any other indicator will necessarily port to other markets. While this may sometimes be the case, it will often not. Why is that? Because each market is its own ecosystem. As cities do, all markets share some common characteristics, but they also all have their idiosyncrasies. A proportion of a city's inhabitants is always composed of outsiders who come and go, but a core population of regulars and systems is usually the force that actually defines most of the city's observable characteristics. I believe markets work somewhat the same way; they may look the same, but if you live there for a while and pay attention, you will notice the idiosyncrasies. Some things that work in some markets will, accordingly, not work in others. Please keep that in mind when you draw conclusions.
On Up/Down or Buy/Sell Volume
Buying or selling volume are misnomers, as every unit of volume transacted is both bought and sold by two different traders. While this does not keep me from using the terms, there is no such thing as “buy only” or “sell only” volume. Trader lingo is riddled with peculiarities. Without access to order book information, traders work with the assumption that when price moves up during a bar, there was more buying pressure than selling pressure, just as when buy market orders take out limit ask orders in the order book at successively higher levels. The built-in volume indicator available on TradingView uses this logic to color the volume columns green or red. While this script’s calculations are more precise because it analyses intrabars to calculate its information, it uses pretty much the same imperfect logic. Until Pine scripts can have access to how much volume was transacted at the bid/ask prices, our volume delta calculations will remain a mere proxy.
Repainting
• The values calculated on the realtime bar will update as new information comes from the feed.
• Historical values may recalculate if the historical feed is updated or when calculations start from a new point in history.
• Markers and alerts will not repaint as they only occur on a bar's close. Keep this in mind when viewing markers on historical bars,
where one could understandably and incorrectly assume they appear at the bar's open.
To learn more about repainting, see the Pine Script™ User Manual's page on the subject .
Superfluity
In "The Bed of Procrustes", Nassim Nicholas Taleb writes: To bankrupt a fool, give him information . This indicator can display a lot of information. The inevitable adaptation period you will need to figure out how to use it should help you eliminate all the visuals you do not need. The more you eliminate, the easier it will be to focus on those that are the most useful to your trading practice. Don't be a fool.
█ THANKS
Thanks to alexgrover for his Dekidaka-Ashi indicator. His volume plots on candles were the inspiration for my top/bottom plots.
Kudos to PineCoders for their libraries. I use two of them in this script: Time and lower_tf .
The first versions of this script used functionality that I would not have known about were it not for these two guys:
— A guy called Kuan who commented on a Backtest Rookies presentation of their Volume Profile indicator.
— theheirophant , my partner in the exploration of the sometimes weird abysses of request.security() ’s behavior at lower timeframes.
Order Block Matrix [Alpha Extract]The Order Block Matrix indicator identifies and visualizes key supply and demand zones on your chart, helping traders recognize potential reversal points and high-probability trading setups.
This tool helps traders:
Visualize key order blocks with volume profile histograms showing liquidity distribution.
Identify high-volume price levels where institutional activity occurs.
rank historical order blocks and analyze their strength based on volume.
Receive alerts for potential trading opportunities based on price-block interactions.
🔶 CALCULATION
The indicator processes chart data to identify and analyze order blocks:
Order Block Detection
Inputs:
Price action patterns (consolidation areas followed by breakouts).
Volume data from current and lower timeframes.
User-defined lookback periods and thresholds.
Detection Logic:
Identifies consolidation areas using a dynamic range comparison.
Confirms breakout patterns with percentage threshold validation.
Maps volume distribution across price levels within each order block.
🔶Volume Analysis
Volume Profiling:
Divides each order block into configurable grid segments.
Maps volume distribution across price segments within blocks.
Highlights zones with highest volume concentration.
Strength Assessment:
Calculates total block volume and relative strength metrics.
Compares block volume to historical averages.
Determines probability of reversal based on volume patterns.
isConsolidation(len) =>
high_range = ta.highest(high, len) - ta.lowest(high, len)
low_range = ta.highest(low, len) - ta.lowest(low, len)
avg_range = (high_range + low_range) / 2
current_range = high - low
current_range <= avg_range * (1 + obThreshold)
🔶 DETAILS
Visual Features
Volume Profile Histograms:
Color-coded bars showing volume concentration within order blocks.
Gradient coloring based on relative volume (high volume = brighter colors).
Bull blocks (green/teal) and bear blocks (red) with varying opacity.
Block Visualization:
Dynamic box sizing based on volume concentration.
Optional block borders and background fills.
Volume labels showing total block volume.
Screener Table:
Real-time analysis of order block metrics.
Shows block direction, proximity, retest count, and volume metrics.
Color-coded for quick reference.
Interpretation
High Volume Areas: Zones with institutional interest and potential reversal points.
Block Direction: Bullish blocks typically support price, bearish blocks typically resist price.
Retests: Multiple tests of an order block may strengthen or weaken its influence.
Block Age: Newer blocks often have stronger influence than older ones.
Volume Concentration: Brightest segments within blocks represent the highest volume areas.
🔶 EXAMPLES
The indicator helps identify key trading opportunities:
Bullish Order Blocks
Support Zones: Identify strong support levels where price is likely to bounce.
Breakout Confirmation: Validate breakouts with volume analysis to avoid false moves.
Retest Strategies: Enter trades when price retests a bullish order block with high volume.
Bearish Order Blocks
Resistance Zones: Identify strong resistance levels where price is likely to reverse.
Distribution Areas: Detect zones where smart money is distributing to retail.
Short Opportunities: Find optimal short entry points at high-volume bearish blocks.
Combined Strategies
Order Block Stacking: Multiple aligned blocks create stronger support/resistance zones.
Block Mitigation: When price breaks through a block, it often indicates a strong trend continuation.
Volume Profile Applications: Higher volume segments provide more precise entry and exit points.
🔶 SETTINGS
Customization Options
Order Block Detection:
Consolidation Lookback: Adjust the period for consolidation detection.
Breakout Threshold: Set minimum percentage for breakout confirmation.
Historical Lookback Limit: Control how far back to scan for historical order blocks.
Maximum Order Blocks: Limit the number of visible blocks on the chart.
Visual Style:
Grid Segments: Adjust the number of volume profile segments.
Extend Blocks to Right: Enable/disable extending blocks to current price.
Show Block Borders: Toggle border visibility.
Border Width: Adjust thickness of block borders.
Show Volume Text: Enable/disable volume labels.
Volume Text Position: Control placement of volume labels.
Color Settings:
Bullish High/Low Volume Colors: Customize appearance of bullish blocks.
Bearish High/Low Volume Colors: Customize appearance of bearish blocks.
Border Color: Set color for block outlines.
Background Fill: Adjust color and transparency of block backgrounds.
Volume Text Color: Customize label appearance.
Screener Table:
Show Screener Table: Toggle table visibility.
Table Position: Select positioning on the chart.
Table Size: Adjust display size.
The Order Block Matrix indicator provides traders with powerful insights into market structure, helping to identify key levels where smart money is active and where high-probability trading opportunities may exist.
Smart Range DetectorSmart Range Detector
What It Does
This indicator automatically detects and validates significant trading ranges using pivot point analysis combined with logarithmic fibonacci relationships. It operates by identifying specific pivot patterns (High-Low-High and Low-High-Low) that meet fibonacci validation criteria to filter out noise and highlight only the most reliable trading ranges. Each range is continuously monitored for potential mitigation (breakout) events.
Key Features
Identifies both High-Low-High and Low-High-Low range patterns
Validates each range using logarithmic fibonacci relationships (more accurate than linear fibs)
Detects range mitigations (breakouts) and visually differentiates them
Shows fibonacci levels within ranges (25%, 50%, 75%) for potential reversal points
Visualizes extension levels beyond ranges for breakout targets
Analyzes volume profile with customizable price divisions (default: 60)
Displays Point of Control (POC) and Value Area for traded volume analysis
Implements performance optimization with configurable range limits
Includes user-adjustable safety checks to prevent Pine Script limitations
Offers fully customizable colors, line widths, and transparency settings
How To Use It
Identify Valid Ranges : The indicator automatically detects and highlights trading ranges that meet fibonacci validation criteria
Monitor Fibonacci Levels : Watch for price reactions at internal fib levels (25%, 50%, 75%) for potential reversal opportunities
Track Extension Targets : Use the extension lines as potential targets when price breaks out of a range
Analyze Volume Structure : Enable the volume profile mode to see where most volume was traded within mitigated ranges
Trade Range Boundaries : Look for reactions at range highs/lows combined with volume POC for higher probability entries
Manage Performance : Adjust the maximum displayed ranges and history bars settings for optimal chart performance
Settings Guide
Left/Right Bars Look Back : Controls how far back the indicator looks to identify pivot points (higher values find more ranges but may reduce sensitivity)
Max History Bars : Limits how far back in history the indicator will analyze (stays within Pine Script's 10,000 bar limitation)
Max Ranges to Display : Restricts the total number of ranges kept in memory for improved performance (1-50)
Volume Profile : When enabled, shows volume distribution analysis for mitigated ranges
Volume Profile Divisions : Controls the granularity of the volume analysis (higher values show more detail)
Display Options : Toggle visibility of range lines, fibonacci levels, extension lines, and volume analysis elements
Transparency & Color Settings : Fully customize the visual appearance of all indicator elements
Line Width Settings : Adjust the thickness of lines for better visibility on different timeframes
Technical Details
The indicator uses logarithmic fibonacci calculations for more accurate price relationships
Volume profile analysis creates 60 price divisions by default (adjustable) for detailed volume distribution
All timestamps are properly converted to work with Pine Script's bar limitations
Safety checks prevent "array index out of bounds" errors that plague many complex indicators
Time-based coordinates are used instead of bar indices to prevent "bar index too far" errors
This indicator works well on all timeframes and instruments, but performs best on 5-minute to daily charts. Perfect for swing traders, range traders, and breakout strategists.
What Makes It Different
Most range indicators simply draw boxes based on recent highs and lows. Smart Range Detector validates each potential range using proven fibonacci relationships to filter out noise. It then adds sophisticated volume analysis to help traders identify the most significant price levels within each range. The performance optimization features ensure smooth operation even on lower timeframes and extended history analysis.
Casa_VolumeProfileSessionLibrary "Casa_VolumeProfileSession"
Analyzes price and volume during regular trading hours to provide a session volume profile,
including Point of Control (POC), Value Area High (VAH), and Value Area Low (VAL).
Calculates and displays these levels historically and for the developing session.
Offers customizable visualization options for the Value Area, POC, histogram, and labels.
Uses lower timeframe data for increased accuracy and supports futures sessions.
The number of rows used for the volume profile can be fixed or dynamically calculated based on the session's price range and the instrument's minimum tick increment, providing optimal resolution.
calculateEffectiveRows(configuredRows, dayHigh, dayLow)
Determines the optimal number of rows for the volume profile, either using the configured value or calculating dynamically based on price range and tick size
Parameters:
configuredRows (int) : User-specified number of rows (0 means auto-calculate)
dayHigh (float) : Highest price of the session
dayLow (float) : Lowest price of the session
Returns: The number of rows to use for the volume profile
debug(vp, position)
Helper function to write some information about the supplied SVP object to the screen in a table.
Parameters:
vp (Object) : The SVP object to debug
position (string) : The position.* to place the table. Defaults to position.bottom_center
getLowerTimeframe()
Depending on the timeframe of the chart, determines a lower timeframe to grab volume data from for the analysis
Returns: The timeframe string to fetch volume for
get(volumeProfile, lowerTimeframeHigh, lowerTimeframeLow, lowerTimeframeVolume, lowerTimeframeTime, lowerTimeframeSessionIsMarket)
Populated the provided SessionVolumeProfile object with vp data on the session.
Parameters:
volumeProfile (Object) : The SessionVolumeProfile object to populate
lowerTimeframeHigh (array) : The lower timeframe high values
lowerTimeframeLow (array) : The lower timeframe low values
lowerTimeframeVolume (array) : The lower timeframe volume values
lowerTimeframeTime (array) : The lower timeframe time values
lowerTimeframeSessionIsMarket (array) : The lower timeframe session.ismarket values (that are futures-friendly)
drawPriorValueAreas(todaySessionVolumeProfile, extendYesterdayOverToday, showLabels, labelSize, pocColor, pocStyle, pocWidth, vahlColor, vahlStyle, vahlWidth, vaColor)
Given a SessionVolumeProfile Object, will render the historical value areas for that object.
Parameters:
todaySessionVolumeProfile (Object) : The SessionVolumeProfile Object to draw
extendYesterdayOverToday (bool) : Defaults to true
showLabels (bool) : Defaults to true
labelSize (string) : Defaults to size.small
pocColor (color) : Defaults to #e500a4
pocStyle (string) : Defaults to line.style_solid
pocWidth (int) : Defaults to 1
vahlColor (color) : The color of the value area high/low lines. Defaults to #1592e6
vahlStyle (string) : The style of the value area high/low lines. Defaults to line.style_solid
vahlWidth (int) : The width of the value area high/low lines. Defaults to 1
vaColor (color) : The color of the value area background. Defaults to #00bbf911)
drawHistogram(volumeProfile, bgColor, showVolumeOnHistogram)
Given a SessionVolumeProfile object, will render the histogram for that object.
Parameters:
volumeProfile (Object) : The SessionVolumeProfile object to draw
bgColor (color) : The baseline color to use for the histogram. Defaults to #00bbf9
showVolumeOnHistogram (bool) : Show the volume amount on the histogram bars. Defaults to false.
Object
Object Contains all settings and calculated values for a Volume Profile Session analysis
Fields:
numberOfRows (series int) : Number of price levels to divide the range into. If set to 0, auto-calculates based on price range and tick size
valueAreaCoverage (series int) : Percentage of total volume to include in the Value Area (default 70%)
trackDevelopingVa (series bool) : Whether to calculate and display the Value Area as it develops during the session
valueAreaHigh (series float) : Upper boundary of the Value Area - price level containing specified % of volume
pointOfControl (series float) : Price level with the highest volume concentration
valueAreaLow (series float) : Lower boundary of the Value Area
startTime (series int) : Session start time in Unix timestamp format
endTime (series int) : Session end time in Unix timestamp format
dayHigh (series float) : Highest price of the session
dayLow (series float) : Lowest price of the session
step (series float) : Size of each price row (calculated as price range divided by number of rows)
pointOfControlLevel (series int) : Index of the row containing the Point of Control
valueAreaHighLevel (series int) : Index of the row containing the Value Area High
valueAreaLowLevel (series int) : Index of the row containing the Value Area Low
lastTime (series int) : Tracks the most recent timestamp processed
volumeRows (map) : Stores volume data for each price level row (key=row number, value=volume)
ltfSessionHighs (array) : Stores high prices from lower timeframe data
ltfSessionLows (array) : Stores low prices from lower timeframe data
ltfSessionVols (array) : Stores volume data from lower timeframe data
Volume Zones Internal Visualizer [LuxAlgo]The Volume Zones Internal Visualizer is an alternate candle type intended to reveal lower timeframe volume activity while on a higher timeframe chart.
It displays the candle's range, the highest and lowest zones of accumulated volume throughout the candle, and the Lower Timeframe (LTF) candle close, which contained the most volume in the session (Candle Session).
🔶 USAGE
The indicator is intended to be used as its own independent candle type. It is not a replacement for traditional candlesticks; however, it is recommended that you hide the chart's display when using this indicator. Another option is to display this indicator in an additional pane alongside the normal chart, as displayed above.
The display consists of candle ranges represented by outlined boxes, within the ranges you will notice a transparent-colored zone, a solid-colored zone, and a line.
Each of these displays different points of volume-related information from an analysis of LTF data.
In addition to this analysis, the indicator also locates the LTF candle with the highest volume, and displays its close represented by the line. This line is considered as the "Peak Activity Level" (PAL), since throughout the (HTF) candle session, this candle's close is the outcome of the most volume transacted at the time.
We are further tracking these PALs by continuing to extend them into the future, looking towards them for potential further interaction. Once a PAL is crossed, we are removing it from display as it has been mitigated.
🔶 DETAILS
The indicator aggregates the volume data from each LTF candle and creates a volume profile from it; the number of rows in the profile is determined by the "Row Size" setting.
With this profile, it locates and displays the highest (solid area) and lowest (transparent area) volume zones from the profile created.
🔶 SETTINGS
Row Size: Sets the number of rows used for the calculation of the volume profile based on LTF data.
Intrabar Timeframe: Sets the Lower Timeframe to use for calculations.
Show Last Unmitigated PALs: Choose how many Unmitigated PALs to extend.
Style: Toggle on and off features, as well as adjust colors for each.
Volatility Footprint CandlesVolatility Footprint is an innovative volume profile indicator that dynamically adapts to real-time market conditions, providing traders with a powerful tool to visualize and interpret market structure, order flow, and potential areas of support and resistance.
At its core, Volatility Footprint combines the concepts of market profile, volume analysis, and volatility measurement to create a unique and adaptive charting experience. The indicator intelligently adjusts its display based on the current market volatility, ensuring that traders always have a clear and readable chart, regardless of the instrument or timeframe they are analyzing.
The footprint chart is composed of a series of color-coded boxes, each representing a specific price level. The color of the box indicates whether there is a net buying or selling pressure at that level, while the opacity reflects the relative strength of the volume. This intuitive visualization allows traders to quickly identify areas of high and low volume, as well as potential imbalances in order flow.
In addition to the individual box volumes, Volatility Footprint also calculates and displays the cumulative volume delta. This running total of buy and sell volumes across all price levels provides valuable insight into the overall market sentiment and potential trends.
One of the key features of Volatility Footprint is its ability to identify and highlight the Point of Control (POC). The POC represents the price level with the highest volume concentration and serves as a key reference point for potential support or resistance. By drawing attention to this crucial level, the indicator helps traders make more informed decisions about potential entry and exit points.
Volatility Footprint is designed to be highly customizable, allowing traders to tailor the appearance of the footprint chart to their specific preferences. Users can easily modify the colors, opacity, and size of the boxes, labels, and POC marker to enhance readability and clarity.
The indicator's versatility makes it suitable for a wide range of trading styles and strategies. Whether you are a scalper looking for short-term opportunities or a swing trader aiming to identify potential trend reversals, Volatility Footprint can provide valuable insights into market dynamics.
By combining Volatility Footprint with other forms of analysis, such as price action, key levels, and technical indicators, traders can gain a more comprehensive understanding of market behavior and make better-informed trading decisions.
Volatility Footprint's adaptive approach to volume profile analysis sets it apart from traditional fixed-resolution volume profile indicators. By dynamically adjusting to the unique characteristics of each instrument and timeframe, the indicator ensures that traders always have a clear and meaningful representation of market structure and order flow.
Volatility Footprint is a powerful tool that traders can incorporate into their market analysis and decision-making process. By providing a dynamic, visual representation of volume and order flow at different price levels, this indicator offers valuable insights into market structure, sentiment, and potential areas of support and resistance. Let's explore how traders might effectively utilize Volatility Footprint in their trading approach.
1. Identifying Key Levels:
One of the primary uses of Volatility Footprint is to identify key price levels where significant trading activity has occurred. The color-coded boxes allow traders to quickly spot areas of high volume concentration, which may indicate potential support or resistance zones. For example, if a trader notices a cluster of boxes with high opacity at a specific price level, they may interpret this as a strong support or resistance area, depending on the prevailing market context. By paying attention to these key levels, traders can make more informed decisions about potential entry and exit points, as well as placement of stop-loss orders and profit targets.
2. Assessing Market Sentiment:
The cumulative volume delta feature of Volatility Footprint provides traders with a valuable gauge of overall market sentiment. By analyzing the running total of buy and sell volumes across all price levels, traders can gain insight into the dominant market forces at play. If the cumulative delta is significantly positive, it may suggest a bullish sentiment, as buying pressure has been consistently outpacing selling pressure. Conversely, a negative cumulative delta may indicate a bearish sentiment. Traders can use this information to confirm or question their bias and adjust their trading plan accordingly.
3. Confirming Breakouts and Trend Reversals:
Volatility Footprint can be particularly useful in confirming the strength and validity of breakouts and potential trend reversals. When a price level is breached, traders can refer to the footprint chart to assess the volume and order flow characteristics around that level. If the breakout is accompanied by a surge in volume and a clear imbalance between buying and selling pressure, it may suggest a strong and sustainable move. On the other hand, if the volume is relatively low or evenly distributed, the breakout may be less reliable. By using Volatility Footprint to confirm breakouts, traders can make more informed decisions about whether to enter or exit a trade, or to adjust their position size.
4. Detecting Imbalances and Potential Reversals:
Imbalances between buying and selling pressure at specific price levels can often precede significant market moves or reversals. Volatility Footprint makes it easy for traders to spot these imbalances visually. For instance, if a trader observes a price level with a significantly larger number of sell boxes compared to buy boxes, it may indicate a potential exhaustion point for a bullish trend, and a reversal might be imminent. Traders can use this information in conjunction with other technical analysis tools, such as trendlines, moving averages, or momentum oscillators, to identify high-probability trading opportunities.
5. Adapting to Market Conditions:
One of the key strengths of Volatility Footprint is its ability to dynamically adapt to the unique volatility characteristics of different instruments and timeframes. This adaptability ensures that the indicator remains relevant and informative across a wide range of market conditions. Traders can use Volatility Footprint to gauge the relative volatility and volume of a particular instrument or timeframe, and adjust their trading approach accordingly. For example, in a highly volatile market, traders may opt for wider stop-loss levels and smaller position sizes to account for the increased risk.
Incorporating Volatility Footprint into a trading strategy requires a combination of technical analysis, market understanding, and risk management. Traders should use this indicator as part of a comprehensive approach, combining it with other forms of analysis, such as price action, key levels, and technical indicators. By doing so, traders can gain a more complete picture of market dynamics and make better-informed trading decisions.
It's important to note that while Volatility Footprint provides valuable insights, it should not be relied upon as a standalone trading signal. Traders should always consider the broader market context, their risk tolerance, and their overall trading plan when making decisions based on the information provided by this indicator.
In conclusion, Volatility Footprint offers traders a dynamic and visually intuitive way to analyze market structure, volume, and order flow. By identifying key levels, assessing market sentiment, confirming breakouts, detecting imbalances, and adapting to market conditions, traders can leverage this powerful tool to make more informed and confident trading decisions. As with any technical analysis tool, Volatility Footprint should be used in conjunction with sound risk management principles and a well-defined trading strategy to maximize its effectiveness.
Key Levels Suite - By LeviathanThis is a comprehensive script, designed to display over 100 key price levels across multiple dimensions, including volume profile levels, HTF levels, VWAPs, SMAs/EMAs, market session levels, day of week levels and more. The indicator offers high flexibility in features, settings and visual appearance.
● The script organizes levels into six main categories:
Higher Timeframe (HTF) Levels
- Current and/or previous period: Open, High, Low, and Midpoint for Daily, Weekly, Monthly, Quarterly, and Yearly timeframes (eg. levels for current weekly high/low and previous weekly high/low).
- These levels provide a clear structure for identifying key support and resistance zones. Traders often use HTF levels to anticipate price reactions, such as bounces or rejections, at major highs and lows. For example, a price nearing the weekly high could signal an area of resistance.
VWAP Levels
- Current and/or previous period: VWAP and upper/lower standard deviations for Daily, Weekly, Monthly, Quarterly, and Yearly timeframes (eg. levels for current daily VWAP and previous weekly VWAP).
- VWAP levels give traders insight into whether the current price is above or below the fair market value for a given period. It’s often used as a reference point for trend direction or S/R. If the price remains above VWAP, the trend may be seen as bullish, while breaks below VWAP can suggest a shift toward bearish sentiment. Standard deviations help identify areas where the price may be overextended, offering opportunities for mean reversion trades.
Moving Average Levels
- EMA and SMA for three customizable lengths (eg. levels for 200 EMA, 50 EMA and 100 SMA).
- These levels act as dynamic support and resistance lines that adjust with price movement. Traders use them to confirm trend direction and watch for reactions around these levels, particularly in trending markets. For example, when the price pulls back to a 200 EMA, it could present an opportunity to enter a trade in line with the prevailing trend.
Volume Profile Levels
- Current and previous: Point of Control (POC), Value Area High (VAH), and Value Area Low (VAL) for Daily, Weekly, Monthly, Quarterly, and Yearly timeframes (eg. levels for current day POC and previous day POC).
- Volume Profile levels highlight price areas where significant trading occurred. The POC indicates the price where the most volume was traded and can act as a strong magnet for price. VAH and VAL mark the boundaries of value areas, making them excellent spots for breakout or mean reversion trades. Traders look for price reactions around these zones to either join or fade moves.
Market Session Levels
- Current and previous: Open, high, low, and midpoint for three user-defined sessions, with default being Tokyo, London, and New York (eg. levels for current New York session open and previous New York session high and low).
- Session levels allow traders to track how price behaves across different global market sessions. For instance, the New York open often brings increased liquidity and volatility. Traders often use these levels to anticipate sharp moves or continuations, especially after session highs and lows are broken, signaling shifts in market momentum.
Day of Week Levels
- Open, high, low, and midpoint for Monday through Sunday (eg. levels for Monday's high and low and Tuesday open).
- These levels help traders identify recurring intraday or intraweek price behaviors. For example, highs or lows established earlier in the week can serve as benchmarks for breakouts or retracements later on. Monday’s open or Friday’s high/low often reflect market sentiment going into or out of the weekend, providing valuable clues for planning trades.
● About the script
I published this script because it was heavily requested by my Tradingview followers who wanted a clean and feature-rich indicator that can display various levels they use in their analysis. The indicator can display levels that are not available in other similar public scripts and makes sure to calculate and load calculation-intensive levels (like volume profile levels, higher timeframe vwap levels, etc) as fast and efficiently as possible. It is one of the only scripts I've published that is not open source. The code is protected because it includes some proprietary calculations (eg: for POC/VAH/VAL), that I don't wish to open source, but I still want to publish a heavily requested script in a public and free format.
● How to use the script
1. Add the script to your chart
Start by adding the script to your chart like any other indicator.
2. Open the indicator settings
Click the settings icon to access all customization options.
3. Select which level groups to display
In the "Controls" section, choose which groups of levels (HTF, VWAP, Moving Averages, etc.) you want displayed. This allows you to quickly toggle between different sets of levels depending on your analysis needs, without overcrowding the chart.
4. Adjust group-specific settings
Scroll down to access detailed settings for each group. For any group, you can choose:
- The relevant time parameter (e.g., Daily, Weekly, Monthly, etc for HTF/VWAP/Volume Profile levels, length for Moving Average levels, day for Day of Week Levels, etc).
- Specific levels to display (e.g., Open/High/Low/Midpoint for HTF, VWAP, Day of Week, Session levels and POC/VAH/VAL for Volume Profile levels).
- For applicable groups, you can also toggle previous period levels by selecting them from the row starting with the "↳" icon.
5. Customize visual appearance
In the "Appearance" section, you have full control over how the levels and labels look. You can:
- Choose what details appear in the labels (e.g., level name, price, or percentage distance from current price).
- Pick from different line types, line style (solid, dashed, dotted), adjust line width, and manage the length of the lines using "Offset Right" and "Offset Left" settings.
- Modify font, label size, and color options. If multiple levels overlap at the same price, use the “Merge Levels” option to combine them into one, reducing visual clutter.
6. Customize level names to your preference
In the "Labels" section, you can rename any parameter to match your preferred abbreviations (e.g., change “Weekly Open” to “wO” or any other shorthand that works for you).
● Key Features:
- Display various different important levels, all in one indicator
- Seamless control of which group of levels / specific level to display
- Choose from various line and label styles to display levels.
- Labels can show the level's title (customizable abbreviations), price, and percentage distance from the current price.
- Merge nearby levels to reduce chart clutter, either for identical levels or those within a user-defined percentage range.
- Fully customizable visual appearance of levels to suit individual preferences.
ZenAlgo - AvengerThe ZenAlgo - Avenger indicator provides a multi-layered view of market behavior by combining volume delta analytics, trend-following EMAs, average price comparison, and price-volume profiling into a unified overlay. It is designed to visually assist traders in identifying areas of interest, momentum shifts, and potential reversals using cumulative data from both spot and perpetual markets.
Volume Delta Calculation
This indicator computes delta as the difference between estimated buy and sell volumes using volume data from multiple centralized exchanges. It distinguishes between spot and perpetual volumes, combining them into total volume.
To estimate buying and selling volume from raw volume data, candle structure is broken down into body and wicks. The body is interpreted as the core directional movement (buy/sell), while the wicks are treated as uncertain or counteraction. This segmentation helps infer the likely share of buying and selling within each bar.
The delta is calculated per bar and then aggregated over a lookback period (default 14 bars) to generate a cumulative delta. This approach provides a smoothed value of volume pressure trends over time.
A moving average is applied to the delta values (using selectable MA types like EMA or SMA) to define signal crossovers and suppress noise.
Delta Visualization
To contextualize delta within price action, the delta is scaled dynamically (by ATR or user-defined value) and plotted as a band around the closing price. Positive delta expands upward from price, negative delta downward. This provides a visual overlay that reflects net market pressure in context with price movement.
In cases of extreme delta (threshold set at 80% of recent maximum), the indicator marks spike bars using symbols to indicate significant directional pressure.
Identification of Noteworthy Conditions
The indicator highlights points on the chart where specific conditions are met based on the interaction between volume delta and its moving average. These conditions may align with moments of market pressure imbalance and directional movement, but they are not to be interpreted as trade signals in isolation.
Instead, these chart markers serve as visual flags for potential interest. They are intended to draw the user’s attention to scenarios where:
The delta crosses above or below its moving average, suggesting a potential shift in volume pressure.
The cumulative delta supports the direction of this crossover.
Optional filters can further restrict these markings to periods where:
The short-term trend (as inferred from EMA slope) supports the direction.
Volume is elevated relative to a recent average.
A user-defined cooldown period prevents multiple markings within short succession to avoid clutter.
It is essential to underscore that these markers do not constitute buy or sell advice . Their role is diagnostic , helping the trader to identify potential moments of interest which should be analyzed in conjunction with broader context, such as trend structure, price action, support/resistance levels, or external market data.
EMA Structure
Six EMAs with fixed lengths (13 to 56) are plotted and colored dynamically based on the most recent crossover between the fastest and slowest (EMA1 and EMA6). These EMAs help visualize short- to mid-term trends. The crossover itself is marked with symbols, with vertical offset based on ATR to maintain chart readability.
Average Line (AVG)
The indicator also calculates an average price based on a fixed window (100 bars). This is not a standard moving average but rather a raw average of recent prices stored in a circular buffer. The average is plotted, and its relative distance to the current price is labeled as a percentage. This feature serves as a simplified representation of fair value or mean reversion anchor.
EMA6 vs AVG Cross
Another layer of point of interest detection involves EMA6 crossing the AVG line. This crossover is only considered valid if EMA6 shows slope consistency in the crossing direction. These events are marked using symbols and offset vertically to avoid overlapping price action.
Divergence Detection
The script detects both regular and hidden divergences between price and delta:
Regular divergences are defined when price makes a higher high or lower low, while delta fails to confirm (makes a lower high or higher low).
Hidden divergences occur when price retraces (lower high or higher low), but delta moves against this retracement, indicating underlying strength or weakness.
Divergence points are labeled with "R" (regular) or "H" (hidden) and appear at local pivot highs or lows. The number of visible divergence labels can be limited for chart clarity.
POC and nPOC Calculations
The script includes a simplified volume profile implementation, calculating:
POC (Point of Control): the price level with the highest volume for the given period.
nPOC (non-tested POC): historical POCs that have not yet been revisited by price.
Price levels are bucketed into rows (user-defined), and volume per bucket is tracked to identify the POC. Upon a new period (e.g., day, week), a horizontal POC line is drawn. Once tested by price, the line’s appearance changes (color fades, label shrinks), helping users distinguish between untouched and touched levels.
Limits are enforced on the number of retained POCs and their maximum distance from current bars to optimize performance and chart readability.
Exchange Aggregation
Volume data is aggregated across major exchanges. This ensures that the delta calculation captures a broader market picture beyond a single venue, reducing exchange-specific noise.
How to Interpret Values
Delta Band: Wide bands indicate strong directional imbalance. Narrow bands suggest indecision or low volume.
EMA Crossover Symbols: Appear on directional shifts in moving averages. Multiple EMAs reinforcing the same slope typically indicate stronger trend.
AVG Line: Represents average price over recent history. Large deviations can indicate overextension or potential mean reversion.
Divergences: Regular ones may point to weakening momentum; hidden ones can suggest continuation despite corrective price action.
POC / nPOC: Key volume-based support/resistance levels. Untested nPOCs can act as magnets for price retests.
How to Best Use This Indicator
Use in conjunction with trend context (e.g., higher timeframe EMAs) to avoid counter-trend indications.
Treat delta spikes as caution zones—especially if they occur at known support/resistance.
Watch for divergences as early warning signs before price reverses.
Use POC/nPOC as target levels, especially if aligned with delta signals.
Apply volume and trend filters to reduce noise on shorter timeframes.
Added Value
Multi-exchange volume aggregation makes the delta calculation more robust.
Real-time cumulative delta overlaid directly on the price chart provides immediate context.
Points of interest on chart are conservative and filterable, intended to reduce false positives.
The combination of delta, trend-following EMAs, fair value line, and volume profile data is rarely found in one overlay script.
POC/nPOC visualization based on real traded volume helps identify high-interest zones for future price interaction.
Why Is It Worth Paying For
While free alternatives may provide partial insights (e.g., basic delta or single EMA crossovers), this indicator integrates multiple domains—delta, divergence, average price, trend overlays, and profile levels—into a coherent, optimized chart tool. The value lies not just in having these tools, but in how they are synchronized and visualized.
Furthermore, sourcing and synchronizing volume data from multiple exchanges for delta estimation is not straightforward in Pine Script and adds to the indicator's complexity and utility.
Disclaimers and Limitations
Delta estimation is based on candle structure and assumes wick/body distribution reflects buyer/seller activity, which may not always be precise.
Multi-exchange volume data relies on availability via TradingView’s request.security() function; if exchange data is missing or delayed, results may be incomplete.
Divergences do not guarantee reversals—should be used as part of a broader analysis framework.
On illiquid instruments or exotic pairs, the value of delta and volume-based analytics may be reduced due to unreliable volume.
Multiple AVWAP [OmegaTools]The Multiple AVWAP indicator is a sophisticated trading tool designed for professional traders who require precision in volume-weighted price tracking. This indicator allows for the deployment of multiple Anchored Volume Weighted Average Price (AVWAP) calculations simultaneously, offering deep insights into price movements, dynamic support and resistance levels, and trend structures across multiple timeframes.
This indicator caters to both institutional and retail traders by integrating flexible anchoring methods, multi-timeframe adaptability, and enhanced visualization features. It also includes deviation bands for statistical analysis, making it a comprehensive volume-based trading solution.
Key Features & Functionalities
1. Multiple AVWAP Configurations
Users can configure up to four distinct AVWAP calculations to track different market conditions.
Supports various anchoring methods:
Fixed: A traditional AVWAP that starts from a defined historical point.
Perpetual: A rolling VWAP that continuously adjusts over time.
Extension: An extension-based AVWAP that projects from past calculations.
High Volume: Anchors AVWAP to the highest volume bar within a specified period.
None: Option to disable AVWAP calculation if not required.
2. Advanced Deviation Bands
Implements standard deviation bands (1st and 2nd deviation) to provide a statistical measure of price dispersion from the AVWAP.
Serves as a dynamic method for identifying overbought and oversold conditions relative to VWAP pricing.
Deviation bands are customizable in terms of visibility, color, and transparency.
3. Multi-Timeframe Support
Users can assign different timeframes to each AVWAP calculation for macro and micro analysis.
Helps in identifying long-term institutional trading levels alongside short-term intraday trends.
4. Z-Score Normalization Mode
Option to standardize oscillator values based on AVWAP deviations.
Converts price movements into a statistical Z-score, allowing traders to measure price strength in a normalized range.
Helps in detecting extreme price dislocations and mean-reversion opportunities.
5. Customizable Visual & Aesthetic Settings
Fully customizable line colors, transparency, and thickness to enhance clarity.
Users can modify AVWAP and deviation band colors to distinguish between different levels.
Configurable display options to match personal trading preferences.
6. Oscillator Mode for Trend & Momentum Analysis
The indicator converts price deviations into an oscillator format, displaying AVWAP strength and weakness dynamically.
This provides traders with a momentum-based perspective on volume-weighted price movements.
User Guide & Implementation
1. Configuring AVWAPs for Optimal Use
Choose the mode for each AVWAP instance:
Fixed (set historical point)
Perpetual (rolling, continuously updated AVWAP)
Extension (projection from past AVWAP levels)
High Volume (anchored to highest volume bar)
None (disables the AVWAP line)
Adjust the length settings to fine-tune calculation sensitivity.
2. Utilizing Deviation Bands for Market Context
Activate deviation bands to see statistical boundaries of price action.
Monitor +1 / -1 and +2 / -2 standard deviation levels for extended price movements.
Consider price action outside of deviation bands as potential mean-reversion signals.
3. Multi-Timeframe Analysis for Institutional-Level Insights
Assign different timeframes to each AVWAP to compare:
Daily VWAP (institutional trading levels)
Weekly VWAP (swing trading trends)
Intraday VWAPs (short-term momentum shifts)
Helps identify where institutional liquidity is positioned relative to price.
4. Activating the Oscillator for Momentum & Bias Confirmation
The oscillator converts AVWAP deviations into a normalized value.
Use overbought/oversold levels to determine strength and potential reversals.
Combine with other indicators (RSI, MACD) for confluence-based trading decisions.
Trading Applications & Strategies
5. Trend Confirmation & Institutional VWAP Tracking
If price consistently holds above the primary AVWAP, it signals a bullish trend.
If price remains below AVWAP, it indicates selling pressure and a bearish trend.
Monitor retests of AVWAP levels for potential trend continuation or reversal.
6. Dynamic Support & Resistance Levels
AVWAP lines act as dynamic floating support and resistance zones.
Price bouncing off AVWAP suggests continuation, whereas breakdowns indicate a shift in momentum.
Look for confluence with high-volume zones for stronger trade signals.
7. Mean Reversion & Statistical Edge Trading
Prices that deviate beyond +2 or -2 standard deviations often revert toward AVWAP.
Mean reversion traders can fade extended moves and target AVWAP re-tests.
Helps in identifying exhaustion points in trending markets.
8. Institutional Liquidity & Volume Footprints
Institutions often execute large trades near VWAP zones, causing price reactions.
Tracking multi-timeframe AVWAP levels allows traders to anticipate key liquidity areas.
Use higher timeframe AVWAPs as macro support/resistance for swing trading setups.
9. Enhancing Momentum Trading with AVWAP Oscillator
The oscillator provides a momentum-based measure of AVWAP deviations.
Helps in confirming entry and exit timing for trend-following trades.
Useful for pairing with stochastic oscillators, MACD, or RSI to validate trade decisions.
Best Practices & Trading Tips
Use in Conjunction with Volume Analysis: Combine with volume profiles, OBV, or CVD for increased accuracy.
Adjust Timeframes Based on Trading Style: Scalpers can focus on short-term AVWAP, while swing traders benefit from weekly/daily AVWAP tracking.
Backtest Different AVWAP Configurations: Experiment with different anchoring methods and lookback periods to optimize trade performance.
Monitor Institutional Order Flow: Identify key VWAP zones where institutional traders may be active.
Use with Other Technical Indicators: Enhance trading confidence by integrating with moving averages, Bollinger Bands, or Fibonacci retracements.
Final Thoughts & Disclaimer
The Multiple AVWAP indicator provides a comprehensive approach to volume-weighted price tracking, making it ideal for professional traders. While this tool enhances market clarity and trade decision-making, it should be used as part of a well-rounded trading strategy with risk management principles in place.
This indicator is provided for informational and educational purposes only. Trading involves risk, and past performance is not indicative of future results. Always conduct your own analysis and due diligence before executing trades.
OmegaTools - Enhancing Market Clarity with Precision Indicators
Simplified Market ProfileVolume Bins: This script divides the price range into num_bins equal price levels. Each bin holds the cumulative volume for that price range.
Profile Length: The number of past bars that the profile considers for building the volume histogram.
Bin Size: The price range between bins is determined by dividing the difference between the highest and lowest prices over the specified range.
Volume Calculation: The script iterates over each bar within the specified range, determining which price bin the bar’s volume should be added to.
Plotting: The script visualizes the volume profile as lines plotted horizontally at different price levels, with thickness proportional to the volume traded at that level.
CVD - Cumulative Volume Delta (Chart)█ OVERVIEW
This indicator displays cumulative volume delta (CVD) as an on-chart oscillator. It uses intrabar analysis to obtain more precise volume delta information compared to methods that only use the chart's timeframe.
The core concepts in this script come from our first CVD indicator , which displays CVD values as plot candles in a separate indicator pane. In this script, CVD values are scaled according to price ranges and represented on the main chart pane.
█ CONCEPTS
Bar polarity
Bar polarity refers to the position of the close price relative to the open price. In other words, bar polarity is the direction of price change.
Intrabars
Intrabars are chart bars at a lower timeframe than the chart's. Each 1H chart bar of a 24x7 market will, for example, usually contain 60 bars at the lower timeframe of 1min, provided there was market activity during each minute of the hour. Mining information from intrabars can be useful in that it offers traders visibility on the activity inside a chart bar.
Lower timeframes (LTFs)
A lower timeframe is a timeframe that is smaller than the chart's timeframe. This script utilizes a LTF to analyze intrabars, or price changes within a chart bar. The lower the LTF, the more intrabars are analyzed, but the less chart bars can display information due to the limited number of intrabars that can be analyzed.
Volume delta
Volume delta is a measure that separates volume into "up" and "down" parts, then takes the difference to estimate the net demand for the asset. This approach gives traders a more detailed insight when analyzing volume and market sentiment. There are several methods for determining whether an asset's volume belongs in the "up" or "down" category. Some indicators, such as On Balance Volume and the Klinger Oscillator , use the change in price between bars to assign volume values to the appropriate category. Others, such as Chaikin Money Flow , make assumptions based on open, high, low, and close prices. The most accurate method involves using tick data to determine whether each transaction occurred at the bid or ask price and assigning the volume value to the appropriate category accordingly. However, this method requires a large amount of data on historical bars, which can limit the historical depth of charts and the number of symbols for which tick data is available.
In the context where historical tick data is not yet available on TradingView, intrabar analysis is the most precise technique to calculate volume delta on historical bars on our charts. This indicator uses intrabar analysis to achieve a compromise between simplicity and accuracy in calculating volume delta on historical bars. Our Volume Profile indicators use it as well. Other volume delta indicators in our Community Scripts , such as the Realtime 5D Profile , use real-time chart updates to achieve more precise volume delta calculations. However, these indicators aren't suitable for analyzing historical bars since they only work for real-time analysis.
This is the logic we use to assign intrabar volume to the "up" or "down" category:
• If the intrabar's open and close values are different, their relative position is used.
• If the intrabar's open and close values are the same, the difference between the intrabar's close and the previous intrabar's close is used.
• As a last resort, when there is no movement during an intrabar and it closes at the same price as the previous intrabar, the last known polarity is used.
Once all intrabars comprising a chart bar are analyzed, we calculate the net difference between "up" and "down" intrabar volume to produce the volume delta for the chart bar.
█ FEATURES
CVD resets
The "cumulative" part of the indicator's name stems from the fact that calculations accumulate during a period of time. By periodically resetting the volume delta accumulation, we can analyze the progression of volume delta across manageable chunks, which is often more useful than looking at volume delta accumulated from the beginning of a chart's history.
You can configure the reset period using the "CVD Resets" input, which offers the following selections:
• None : Calculations do not reset.
• On a fixed higher timeframe : Calculations reset on the higher timeframe you select in the "Fixed higher timeframe" field.
• At a fixed time that you specify.
• At the beginning of the regular session .
• On trend changes : Calculations reset on the direction change of either the Aroon indicator, Parabolic SAR , or Supertrend .
• On a stepped higher timeframe : Calculations reset on a higher timeframe automatically stepped using the chart's timeframe and following these rules:
Chart TF HTF
< 1min 1H
< 3H 1D
<= 12H 1W
< 1W 1M
>= 1W 1Y
Specifying intrabar precision
Ten options are included in the script to control the number of intrabars used per chart bar for calculations. The greater the number of intrabars per chart bar, the fewer chart bars can be analyzed.
The first five options allow users to specify the approximate amount of chart bars to be covered:
• Least Precise (Most chart bars) : Covers all chart bars by dividing the current timeframe by four.
This ensures the highest level of intrabar precision while achieving complete coverage for the dataset.
• Less Precise (Some chart bars) & More Precise (Less chart bars) : These options calculate a stepped LTF in relation to the current chart's timeframe.
• Very precise (2min intrabars) : Uses the second highest quantity of intrabars possible with the 2min LTF.
• Most precise (1min intrabars) : Uses the maximum quantity of intrabars possible with the 1min LTF.
The stepped lower timeframe for "Less Precise" and "More Precise" options is calculated from the current chart's timeframe as follows:
Chart Timeframe Lower Timeframe
Less Precise More Precise
< 1hr 1min 1min
< 1D 15min 1min
< 1W 2hr 30min
> 1W 1D 60min
The last five options allow users to specify an approximate fixed number of intrabars to analyze per chart bar. The available choices are 12, 24, 50, 100, and 250. The script will calculate the LTF which most closely approximates the specified number of intrabars per chart bar. Keep in mind that due to factors such as the length of a ticker's sessions and rounding of the LTF, it is not always possible to produce the exact number specified. However, the script will do its best to get as close to the value as possible.
As there is a limit to the number of intrabars that can be analyzed by a script, a tradeoff occurs between the number of intrabars analyzed per chart bar and the chart bars for which calculations are possible.
Display
This script displays raw or cumulative volume delta values on the chart as either line or histogram oscillator zones scaled according to the price chart, allowing traders to visualize volume activity on each bar or cumulatively over time. The indicator's background shows where CVD resets occur, demarcating the beginning of new zones. The vertical axis of each oscillator zone is scaled relative to the one with the highest price range, and the oscillator values are scaled relative to the highest volume delta. A vertical offset is applied to each oscillator zone so that the highest oscillator value aligns with the lowest price. This method ensures an accurate, intuitive visual comparison of volume activity within zones, as the scale is consistent across the chart, and oscillator values sit below prices. The vertical scale of oscillator zones can be adjusted using the "Zone Height" input in the script settings.
This script displays labels at the highest and lowest oscillator values in each zone, which can be enabled using the "Hi/Lo Labels" input in the "Visuals" section of the script settings. Additionally, the oscillator's value on a chart bar is displayed as a tooltip when a user hovers over the bar, which can be enabled using the "Value Tooltips" input.
Divergences occur when the polarity of volume delta does not match that of the chart bar. The script displays divergences as bar colors and background colors that can be enabled using the "Color bars on divergences" and "Color background on divergences" inputs.
An information box in the lower-left corner of the indicator displays the HTF used for resets, the LTF used for intrabars, the average quantity of intrabars per chart bar, and the number of chart bars for which there is LTF data. This is enabled using the "Show information box" input in the "Visuals" section of the script settings.
FOR Pine Script™ CODERS
• This script utilizes `ltf()` and `ltfStats()` from the lower_tf library.
The `ltf()` function determines the appropriate lower timeframe from the selected calculation mode and chart timeframe, and returns it in a format that can be used with request.security_lower_tf() .
The `ltfStats()` function, on the other hand, is used to compute and display statistical information about the lower timeframe in an information box.
• The script utilizes display.data_window and display.status_line to restrict the display of certain plots.
These new built-ins allow coders to fine-tune where a script’s plot values are displayed.
• The newly added session.isfirstbar_regular built-in allows for resetting the CVD segments at the start of the regular session.
• The VisibleChart library developed by our resident PineCoders team leverages the chart.left_visible_bar_time and chart.right_visible_bar_time variables to optimize the performance of this script.
These variables identify the opening time of the leftmost and rightmost visible bars on the chart, allowing the script to recalculate and draw objects only within the range of visible bars as the user scrolls.
This functionality also enables the scaling of the oscillator zones.
These variables are just a couple of the many new built-ins available in the chart.* namespace.
For more information, check out this blog post or look them up by typing "chart." in the Pine Script™ Reference Manual .
• Our ta library has undergone significant updates recently, including the incorporation of the `aroon()` indicator used as a method for resetting CVD segments within this script.
Revisit the library to see more of the newly added content!
Look first. Then leap.
Delta Volume Channels [LucF]█ OVERVIEW
This indicator displays on-chart visuals aimed at making the most of delta volume information. It can color bars and display two channels: one for delta volume, another calculated from the price levels of bars where delta volume divergences occur. Markers and alerts can also be configured using key conditions, and filtered in many different ways. The indicator caters to traders who prefer chart visuals over raw values. It will work on historical bars and in real time, using intrabar analysis to calculate delta volume in both conditions.
█ CONCEPTS
Delta Volume
The volume delta concept divides a bar's volume in "up" and "down" volumes. The delta is calculated by subtracting down volume from up volume. Many calculation techniques exist to isolate up and down volume within a bar. The simplest techniques use the polarity of interbar price changes to assign their volume to up or down slots, e.g., On Balance Volume or the Klinger Oscillator . Others such as Chaikin Money Flow use assumptions based on a bar's OHLC values. The most precise calculation method uses tick data and assigns the volume of each tick to the up or down slot depending on whether the transaction occurs at the bid or ask price. While this technique is ideal, it requires huge amounts of data on historical bars, which usually limits the historical depth of charts and the number of symbols for which tick data is available.
This indicator uses intrabar analysis to achieve a compromise between the simplest and most precise methods of calculating volume delta. In the context where historical tick data is not yet available on TradingView, intrabar analysis is the most precise technique to calculate volume delta on historical bars on our charts. TradingView's Volume Profile built-in indicators use it, as do the CVD - Cumulative Volume Delta Candles and CVD - Cumulative Volume Delta (Chart) indicators published from the TradingView account . My Volume Delta Columns Pro indicator also uses intrabar analysis. Other volume delta indicators such as my Realtime 5D Profile use realtime chart updates to achieve more precise volume delta calculations. Indicators of that type cannot be used on historical bars however; they only work in real time.
This is the logic I use to assign intrabar volume to up or down slots:
• If the intrabar's open and close values are different, their relative position is used.
• If the intrabar's open and close values are the same, the difference between the intrabar's close and the previous intrabar's close is used.
• As a last resort, when there is no movement during an intrabar and it closes at the same price as the previous intrabar, the last known polarity is used.
Once all intrabars making up a chart bar have been analyzed and the up or down property of each intrabar's volume determined, the up volumes are added and the down volumes subtracted. The resulting value is volume delta for that chart bar, which can be used as an estimate of the buying/selling pressure on an instrument.
Delta Volume Percent (DV%)
This value is the proportion that delta volume represents of the total intrabar volume in the chart bar. Note that on some symbols/timeframes, the total intrabar volume may differ from the chart's volume for a bar, but that will not affect our calculations since we use the total intrabar volume.
Delta Volume Channel
The DV channel is the space between two moving averages: the reference line and a DV%-weighted version of that reference. The reference line is a moving average of a type, source and length which you select. The DV%-weighted line uses the same settings, but it averages the DV%-weighted price source.
The weight applied to the source of the reference line is calculated from two values, which are multiplied: DV% and the relative size of the bar's volume in relation to previous bars. The effect of this is that DV% values on bars with higher total volume will carry greater weight than those with lesser volume.
The DV channel can be in one of four states, each having its corresponding color:
• Bull (teal): The DV%-weighted line is above the reference line.
• Strong bull (lime): The bull condition is fulfilled and the bar's close is above the reference line and both the reference and the DV%-weighted lines are rising.
• Bear (maroon): The DV%-weighted line is below the reference line.
• Strong bear (pink): The bear condition is fulfilled and the bar's close is below the reference line and both the reference and the DV%-weighted lines are falling.
Divergences
In the context of this indicator, a divergence is any bar where the slope of the reference line does not match that of the DV%-weighted line. No directional bias is assigned to divergences when they occur.
Divergence Channel
The divergence channel is the space between two levels (by default, the bar's low and high ) saved when divergences occur. When price has breached a channel and a new divergence occurs, a new channel is created. Until that new channel is breached, bars where additional divergences occur will expand the channel's levels if the bar's price points are outside the channel.
Prices breaches of the divergence channel will change its state. Divergence channels can be in one of five different states:
• Bull (teal): Price has breached the channel to the upside.
• Strong bull (lime): The bull condition is fulfilled and the DV channel is in the strong bull state.
• Bear (maroon): Price has breached the channel to the downside.
• Strong bear (pink): The bear condition is fulfilled and the DV channel is in the strong bear state.
• Neutral (gray): The channel has not been breached.
█ HOW TO USE THE INDICATOR
Load the indicator on an active chart (see here if you don't know how).
The default configuration displays:
• The DV channel, without the reference or DV%-weighted lines.
• The Divergence channel, without its level lines.
• Bar colors using the state of the DV channel.
The default settings use an Arnaud-Legoux moving average on the close and a length of 20 bars. The DV%-weighted version of it uses a combination of DV% and relative volume to calculate the ultimate weight applied to the reference. The DV%-weighted line is capped to 5 standard deviations of the reference. The lower timeframe used to access intrabars automatically adjusts to the chart's timeframe and achieves optimal balance between the number of intrabars inspected in each chart bar, and the number of chart bars covered by the script's calculations.
The Divergence channel's levels are determined using the high and low of the bars where divergences occur. Breaches of the channel require a bar's low to move above the top of the channel, and the bar's high to move below the channel's bottom.
No markers appear on the chart; if you want to create alerts from this script, you will need first to define the conditions that will trigger the markers, then create the alert, which will trigger on those same conditions.
To learn more about how to use this indicator, you must understand the concepts it uses and the information it displays, which requires reading this description. There are no videos to explain it.
█ FEATURES
The script's inputs are divided in four sections: "DV channel", "Divergence channel", "Other Visuals" and "Marker/Alert Conditions". The first setting is the selection method used to determine the intrabar precision, i.e., how many lower timeframe bars (intrabars) are examined in each chart bar. The more intrabars you analyze, the more precise the calculation of DV% results will be, but the less chart coverage can be covered by the script's calculations.
DV Channel
Here, you control the visibility and colors of the reference line, its weighted version, and the DV channel between them.
You also specify what type of moving average you want to use as a reference line, its source and length. This acts as the DV channel's baseline. The DV%-weighted line is also a moving average of the same type and length as the reference line, except that it will be calculated from the DV%-weighted source used in the reference line. By default, the DV%-weighted line is capped to five standard deviations of the reference line. You can change that value here. This section is also where you can disable the relative volume component of the weight.
Divergence Channel
This is where you control the appearance of the divergence channel and the key price values used in determining the channel's levels and breaching conditions. These choices have an impact on the behavior of the channel. More generous level prices like the default low and high selection will produce more conservative channels, as will the default choice for breach prices.
In this section, you can also enable a mode where an attempt is made to estimate the channel's bias before price breaches the channel. When it is enabled, successive increases/decreases of the channel's top and bottom levels are counted as new divergences occur. When one count is greater than the other, a bull/bear bias is inferred from it.
Other Visuals
You specify here:
• The method used to color chart bars, if you choose to do so.
• The display of a mark appearing above or below bars when a divergence occurs.
• If you want raw values to appear in tooltips when you hover above chart bars. The default setting does not display them, which makes the script faster.
• If you want to display an information box which by default appears in the lower left of the chart.
It shows which lower timeframe is used for intrabars, and the average number of intrabars per chart bar.
Marker/Alert Conditions
Here, you specify the conditions that will trigger up or down markers. The trigger conditions can include a combination of state transitions of the DV and the divergence channels. The triggering conditions can be filtered using a variety of conditions.
Configuring the marker conditions is necessary before creating an alert from this script, as the alert will use the marker conditions to trigger.
Markers only appear on bar closes, so they will not repaint. Keep in mind, when looking at markers on historical bars, that they are positioned on the bar when it closes — NOT when it opens.
Raw values
The raw values calculated by this script can be inspected using a tooltip and the Data Window. The tooltip is visible when you hover over the top of chart bars. It will display on the last 500 bars of the chart, and shows the values of DV, DV%, the combined weight, and the intermediary values used to calculate them.
█ INTERPRETATION
The aim of the DV channel is to provide a visual representation of the buying/selling pressure calculated using delta volume. The simplest characteristic of the channel is its bull/bear state. One can then distinguish between its bull and strong bull states, as transitions from strong bull to bull states will generally happen when buyers are losing steam. While one should not infer a reversal from such transitions, they can be a good place to tighten stops. Only time will tell if a reversal will occur. One or more divergences will often occur before reversals.
The nature of the divergence channel's design makes it particularly adept at identifying consolidation areas if its settings are kept on the conservative side. A gray divergence channel should usually be considered a no-trade zone. More adventurous traders can use the DV channel to orient their trade entries if they accept the risk of trading in a neutral divergence channel, which by definition will not have been breached by price.
If your charts are already busy with other stuff you want to hold on to, you could consider using only the chart bar coloring component of this indicator:
At its simplest, one way to use this indicator would be to look for overlaps of the strong bull/bear colors in both the DV channel and a divergence channel, as these identify points where price is breaching the divergence channel when buy/sell pressure is consistent with the direction of the breach. I have highlighted all those points in the chart below. Not all of them would have produced profitable trades, but nothing is perfect in the markets. Also, keep in mind that the circles identify the visual you would be looking for — not the trade's entry level.
█ LIMITATIONS
• The script will not work on symbols where no volume is available. An error will appear when that is the case.
• Because a maximum of 100K intrabars can be analyzed by a script, a compromise is necessary between the number of intrabars analyzed per chart bar
and chart coverage. The more intrabars you analyze per chart bar, the less coverage you will obtain.
The setting of the "Intrabar precision" field in the "DV channel" section of the script's inputs
is where you control how the lower timeframe is calculated from the chart's timeframe.
█ NOTES
Volume Quality
If you use volume, it's important to understand its nature and quality, as it varies with sectors and instruments. My Volume X-ray indicator is one way you can appraise the quality of an instrument's intraday volume.
For Pine Script™ Coders
• This script uses the new overload of the fill() function which now makes it possible to do vertical gradients in Pine. I use it for both channels displayed by this script.
• I use the new arguments for plot() 's `display` parameter to control where the script plots some of its values,
namely those I only want to appear in the script's status line and in the Data Window.
• I wrote my script using the revised recommendations in the Style Guide from the Pine v5 User Manual.
█ THANKS
To PineCoders . I have used their lower_tf library in this script, to manage the calculation of the LTF and intrabar stats, and their Time library to convert a timeframe in seconds to a printable form for its display in the Information box.
To TradingView's Pine Script™ team. Their innovations and improvements, big and small, constantly expand the boundaries of the language. What this script does would not have been possible just a few months back.
And finally, thanks to all the users of my scripts who take the time to comment on my publications and suggest improvements. I do not reply to all but I do read your comments and do my best to implement your suggestions with the limited time that I have.
CVD - Cumulative Volume Delta Candles█ OVERVIEW
This indicator displays cumulative volume delta in candle form. It uses intrabar information to obtain more precise volume delta information than methods using only the chart's timeframe.
█ CONCEPTS
Bar polarity
By bar polarity , we mean the direction of a bar, which is determined by looking at the bar's close vs its open .
Intrabars
Intrabars are chart bars at a lower timeframe than the chart's. Each 1H chart bar of a 24x7 market will, for example, usually contain 60 bars at the lower timeframe of 1min, provided there was market activity during each minute of the hour. Mining information from intrabars can be useful in that it offers traders visibility on the activity inside a chart bar.
Lower timeframes (LTFs)
A lower timeframe is a timeframe that is smaller than the chart's timeframe. This script uses a LTF to access intrabars. The lower the LTF, the more intrabars are analyzed, but the less chart bars can display CVD information because there is a limit to the total number of intrabars that can be analyzed.
Volume delta
The volume delta concept divides a bar's volume in "up" and "down" volumes. The delta is calculated by subtracting down volume from up volume. Many calculation techniques exist to isolate up and down volume within a bar. The simplest techniques use the polarity of interbar price changes to assign their volume to up or down slots, e.g., On Balance Volume or the Klinger Oscillator . Others such as Chaikin Money Flow use assumptions based on a bar's OHLC values. The most precise calculation method uses tick data and assigns the volume of each tick to the up or down slot depending on whether the transaction occurs at the bid or ask price. While this technique is ideal, it requires huge amounts of data on historical bars, which usually limits the historical depth of charts and the number of symbols for which tick data is available.
This indicator uses intrabar analysis to achieve a compromise between the simplest and most precise methods of calculating volume delta. In the context where historical tick data is not yet available on TradingView, intrabar analysis is the most precise technique to calculate volume delta on historical bars on our charts. Our Volume Profile indicators use it. Other volume delta indicators in our Community Scripts such as the Realtime 5D Profile use realtime chart updates to achieve more precise volume delta calculations, but that method cannot be used on historical bars, so those indicators only work in real time.
This is the logic we use to assign intrabar volume to up or down slots:
• If the intrabar's open and close values are different, their relative position is used.
• If the intrabar's open and close values are the same, the difference between the intrabar's close and the previous intrabar's close is used.
• As a last resort, when there is no movement during an intrabar and it closes at the same price as the previous intrabar, the last known polarity is used.
Once all intrabars making up a chart bar have been analyzed and the up or down property of each intrabar's volume determined, the up volumes are added and the down volumes subtracted. The resulting value is volume delta for that chart bar.
█ FEATURES
CVD Candles
Cumulative Volume Delta Candles present volume delta information as it evolves during a period of time.
This is how each candle's levels are calculated:
• open : Each candle's' open level is the cumulative volume delta for the current period at the start of the bar.
This value becomes zero on the first candle following a CVD reset.
The candles after the first one always open where the previous candle closed.
The candle's high, low and close levels are then calculated by adding or subtracting a volume value to the open.
• high : The highest volume delta value found in intrabars. If it is not higher than the volume delta for the bar, then that candle will have no upper wick.
• low : The lowest volume delta value found in intrabars. If it is not lower than the volume delta for the bar, then that candle will have no lower wick.
• close : The aggregated volume delta for all intrabars. If volume delta is positive for the chart bar, then the candle's close will be higher than its open, and vice versa.
The candles are plotted in one of two configurable colors, depending on the polarity of volume delta for the bar.
CVD resets
The "cumulative" part of the indicator's name stems from the fact that calculations accumulate during a period of time. This allows you to analyze the progression of volume delta across manageable chunks, which is often more useful than looking at volume delta cumulated from the beginning of a chart's history.
You can configure the reset period using the "CVD Resets" input, which offers the following selections:
• None : Calculations do not reset.
• On a fixed higher timeframe : Calculations reset on the higher timeframe you select in the "Fixed higher timeframe" field.
• At a fixed time that you specify.
• At the beginning of the regular session .
• On a stepped higher timeframe : Calculations reset on a higher timeframe automatically stepped using the chart's timeframe and following these rules:
Chart TF HTF
< 1min 1H
< 3H 1D
<= 12H 1W
< 1W 1M
>= 1W 1Y
The indicator's background shows where resets occur.
Intrabar precision
The precision of calculations increases with the number of intrabars analyzed for each chart bar. It is controlled through the script's "Intrabar precision" input, which offers the following selections:
• Least precise, covering many chart bars
• Less precise, covering some chart bars
• More precise, covering less chart bars
• Most precise, 1min intrabars
As there is a limit to the number of intrabars that can be analyzed by a script, a tradeoff occurs between the number of intrabars analyzed per chart bar and the chart bars for which calculations are possible.
Total volume candles
You can choose to display candles showing the total intrabar volume for the chart bar. This provides you with more context to evaluate a bar's volume delta by showing it relative to the sum of intrabar volume. Note that because of the reasons explained in the "NOTES" section further down, the total volume is the sum of all intrabar volume rather than the volume of the bar at the chart's timeframe.
Total volume candles can be configured with their own up and down colors. You can also control the opacity of their bodies to make them more or less prominent. This publication's chart shows the indicator with total volume candles. They are turned off by default, so you will need to choose to display them in the script's inputs for them to plot.
Divergences
Divergences occur when the polarity of volume delta does not match that of the chart bar. You can identify divergences by coloring the CVD candles differently for them, or by coloring the indicator's background.
Information box
An information box in the lower-left corner of the indicator displays the HTF used for resets, the LTF used for intrabars, and the average quantity of intrabars per chart bar. You can hide the box using the script's inputs.
█ INTERPRETATION
The first thing to look at when analyzing CVD candles is the side of the zero line they are on, as this tells you if CVD is generally bullish or bearish. Next, one should consider the relative position of successive candles, just as you would with a price chart. Are successive candles trending up, down, or stagnating? Keep in mind that whatever trend you identify must be considered in the context of where it appears with regards to the zero line; an uptrend in a negative CVD (below the zero line) may not be as powerful as one taking place in positive CVD values, but it may also predate a movement into positive CVD territory. The same goes with stagnation; a trader in a long position will find stagnation in positive CVD territory less worrisome than stagnation under the zero line.
After consideration of the bigger picture, one can drill down into the details. Exactly what you are looking for in markets will, of course, depend on your trading methodology, but you may find it useful to:
• Evaluate volume delta for the bar in relation to price movement for that bar.
• Evaluate the proportion that volume delta represents of total volume.
• Notice divergences and if the chart's candle shape confirms a hesitation point, as a Doji would.
• Evaluate if the progress of CVD candles correlates with that of chart bars.
• Analyze the wicks. As with price candles, long wicks tend to indicate weakness.
Always keep in mind that unless you have chosen not to reset it, your CVD resets for each period, whether it is fixed or automatically stepped. Consequently, any trend from the preceding period must re-establish itself in the next.
█ NOTES
Know your volume
Traders using volume information should understand the volume data they are using: where it originates and what transactions it includes, as this can vary with instruments, sectors, exchanges, timeframes, and between historical and realtime bars. The information used to build a chart's bars and display volume comes from data providers (exchanges, brokers, etc.) who often maintain distinct feeds for intraday and end-of-day (EOD) timeframes. How volume data is assembled for the two feeds depends on how instruments are traded in that sector and/or the volume reporting policy for each feed. Instruments from crypto and forex markets, for example, will often display similar volume on both feeds. Stocks will often display variations because block trades or other types of trades may not be included in their intraday volume data. Futures will also typically display variations.
Note that as intraday vs EOD variations exist for historical bars on some instruments, differences may also exist between the realtime feeds used on intraday vs 1D or greater timeframes for those same assets. Realtime reporting rules will often be different from historical feed reporting rules, so variations between realtime feeds will often be different from the variations between historical feeds for the same instrument. The Volume X-ray indicator can help you analyze differences between intraday and EOD volumes for the instruments you trade.
If every unit of volume is both bought by a buyer and sold by a seller, how can volume delta make sense?
Traders who do not understand the mechanics of matching engines (the exchange software that matches orders from buyers and sellers) sometimes argue that the concept of volume delta is flawed, as every unit of volume is both bought and sold. While they are rigorously correct in stating that every unit of volume is both bought and sold, they overlook the fact that information can be mined by analyzing variations in the price of successive ticks, or in our case, intrabars.
Our calculations model the situation where, in fully automated order handling, market orders are generally matched to limit orders sitting in the order book. Buy market orders are matched to quotes at the ask level and sell market orders are matched to quotes at the bid level. As explained earlier, we use the same logic when comparing intrabar prices. While using intrabar analysis does not produce results as precise as when individual transactions — or ticks — are analyzed, results are much more precise than those of methods using only chart prices.
Not only does the concept underlying volume delta make sense, it provides a window on an oft-overlooked variable which, with price and time, is the only basic information representing market activity. Furthermore, because the calculation of volume delta also uses price and time variations, one could conceivably surmise that it can provide a more complete model than ones using price and time only. Whether or not volume delta can be useful in your trading practice, as usual, is for you to decide, as each trader's methodology is different.
For Pine Script™ coders
As our latest Polarity Divergences publication, this script uses the recently released request.security_lower_tf() Pine Script™ function discussed in this blog post . It works differently from the usual request.security() in that it can only be used at LTFs, and it returns an array containing one value per intrabar. This makes it much easier for programmers to access intrabar information.
Look first. Then leap.
Delta Volume Columns Pro [LucF]█ OVERVIEW
This indicator displays volume delta information calculated with intrabar inspection on historical bars, and feed updates when running in realtime. It is designed to run in a pane and can display either stacked buy/sell volume columns or a signal line which can be calculated and displayed in many different ways.
Five different models are offered to reveal different characteristics of the calculated volume delta information. Many options are offered to visualize the calculations, giving you much leeway in morphing the indicator's visuals to suit your needs. If you value delta volume information, I hope you will find the time required to master Delta Volume Columns Pro well worth the investment. I am confident that if you combine a proper understanding of the indicator's information with an intimate knowledge of the volume idiosyncrasies on the markets you trade, you can extract useful market intelligence using this tool.
█ WARNINGS
1. The indicator only works on markets where volume information is available,
Please validate that your symbol's feed carries volume information before asking me why the indicator doesn't plot values.
2. When you refresh your chart or re-execute the script on the chart, the indicator will repaint because elapsed realtime bars will then recalculate as historical bars.
3. Because the indicator uses different modes of calculation on historical and realtime bars, it's critical that you understand the differences between them. Details are provided further down.
4. Calculations using intrabar inspection on historical bars can only be done from some chart timeframes. See further down for a list of supported timeframes.
If the chart's timeframe is not supported, no historical volume delta will display.
█ CONCEPTS
Chart bars
Three different types of bars are used in charts:
1. Historical bars are bars that have already closed when the script executes on them.
2. The realtime bar is the current, incomplete bar where a script is running on an open market. There is only one active realtime bar on your chart at any given time.
The realtime bar is where alerts trigger.
3. Elapsed realtime bars are bars that were calculated when they were realtime bars but have since closed.
When a script re-executes on a chart because the browser tab is refreshed or some of its inputs are changed, elapsed realtime bars are recalculated as historical bars.
Why does this indicator use two modes of calculation?
Historical bars on TradingView charts contain OHLCV data only, which is insufficient to calculate volume delta on them with any level of precision. To mine more detailed information from those bars we look at intrabars , i.e., bars from a smaller timeframe (we call it the intrabar timeframe ) that are contained in one chart bar. If your chart Is running at 1D on a 24x7 market for example, most 1D chart bars will contain 24 underlying 1H bars in their dilation. On historical bars, this indicator looks at those intrabars to amass volume delta information. If the intrabar is up, its volume goes in the Buy bin, and inversely for the Sell bin. When price does not move on an intrabar, the polarity of the last known movement is used to determine in which bin its volume goes.
In realtime, we have access to price and volume change for each update of the chart. Because a 1D chart bar can be updated tens of thousands of times during the day, volume delta calculations on those updates is much more precise. This precision, however, comes at a price:
— The script must be running on the chart for it to keep calculating in realtime.
— If you refresh your chart you will lose all accumulated realtime calculations on elapsed realtime bars, and the realtime bar.
Elapsed realtime bars will recalculate as historical bars, i.e., using intrabar inspection, and the realtime bar's calculations will reset.
When the script recalculates elapsed realtime bars as historical bars, the values on those bars will change, which means the script repaints in those conditions.
— When the indicator first calculates on a chart containing an incomplete realtime bar, it will count ALL the existing volume on the bar as Buy or Sell volume,
depending on the polarity of the bar at that point. This will skew calculations for that first bar. Scripts have no access to the history of a realtime bar's previous updates,
and intrabar inspection cannot be used on realtime bars, so this is the only to go about this.
— Even if alerts only trigger upon confirmation of their conditions after the realtime bar closes, they are repainting alerts
because they would perhaps not have calculated the same way using intrabar inspection.
— On markets like stocks that often have different EOD and intraday feeds and volume information,
the volume's scale may not be the same for the realtime bar if your chart is at 1D, for example,
and the indicator is using an intraday timeframe to calculate on historical bars.
— Any chart timeframe can be used in realtime mode, but plots that include moving averages in their calculations may require many elapsed realtime bars before they can calculate.
You might prefer drastically reducing the periods of the moving averages, or using the volume columns mode, which displays instant values, instead of the line.
Volume Delta Balances
This indicator uses a variety of methods to evaluate five volume delta balances and derive other values from those balances. The five balances are:
1 — On Bar Balance : This is the only balance using instant values; it is simply the subtraction of the Sell volume from the Buy volume on the bar.
2 — Average Balance : Calculates a distinct EMA for both the Buy and Sell volumes, and subtracts the Sell EMA from the Buy EMA.
3 — Momentum Balance : Starts by calculating, separately for both Buy and Sell volumes, the difference between the same EMAs used in "Average Balance" and
an SMA of double the period used for the "Average Balance" EMAs. The difference for the Sell side is subtracted from the difference for the Buy side,
and an RSI of that value is calculated and brought over the −50/+50 scale.
4 — Relative Balance : The reference values used in the calculation are the Buy and Sell EMAs used in the "Average Balance".
From those, we calculate two intermediate values using how much the instant Buy and Sell volumes on the bar exceed their respective EMA — but with a twist.
If the bar's Buy volume does not exceed the EMA of Buy volume, a zero value is used. The same goes for the Sell volume with the EMA of Sell volume.
Once we have our two intermediate values for the Buy and Sell volumes exceeding their respective MA, we subtract them. The final "Relative Balance" value is an ALMA of that subtraction.
The rationale behind using zero values when the bar's Buy/Sell volume does not exceed its EMA is to only take into account the more significant volume.
If both instant volume values exceed their MA, then the difference between the two is the signal's value.
The signal is called "relative" because the intermediate values are the difference between the instant Buy/Sell volumes and their respective MA.
This balance flatlines when the bar's Buy/Sell volumes do not exceed their EMAs, which makes it useful to spot areas where trader interest dwindles, such as consolidations.
The smaller the period of the final value's ALMA, the more easily you will see the balance flatline. These flat zones should be considered no-trade zones.
5 — Percent Balance : This balance is the ALMA of the ratio of the "On Bar Balance" value, i.e., the volume delta balance on the bar (which can be positive or negative),
over the total volume for that bar.
From the balances and marker conditions, two more values are calculated:
1 — Marker Bias : It sums the up/down (+1/‒1) occurrences of the markers 1 to 4 over a period you define, so it ranges from −4 to +4, times the period.
Its calculation will depend on the modes used to calculate markers 3 and 4.
2 — Combined Balances : This is the sum of the bull/bear (+1/−1) states of each of the five balances, so it ranges from −5 to +5.
█ FEATURES
The indicator has two main modes of operation: Columns and Line .
Columns
• In Columns mode you can display stacked Buy/Sell volume columns.
• The buy section always appears above the centerline, the sell section below.
• The top and bottom sections can be colored independently using eight different methods.
• The EMAs of the Buy/Sell values can be displayed (these are the same EMAs used to calculate the "Average Balance").
Line
• Displays one of seven signals: the five balances or one of two complementary values, i.e., the "Marker Bias" or the "Combined Balances".
• You can color the line and its fill using independent calculation modes to pack more information in the display.
You can thus appraise the state of 3 different values using the line itself, its color and the color of its fill.
• A "Divergence Levels" feature will use the line to automatically draw expanding levels on divergence events.
Default settings
Using the indicator's default settings, this is the information displayed:
• The line is calculated on the "Average Balance".
• The line's color is determined by the bull/bear state of the "Percent Balance".
• The line's fill gradient is determined by the advances/declines of the "Momentum Balance".
• The orange divergence dots are calculated using discrepancies between the polarity of the "On Bar Balance" and the chart's bar.
• The divergence levels are determined using the line's level when a divergence occurs.
• The background's fill gradient is calculated on advances/declines of the "Marker Bias".
• The chart bars are colored using advances/declines of the "Relative Balance". Divergences are shown in orange.
• The intrabar timeframe is automatically determined from the chart's timeframe so that a minimum of 50 intrabars are used to calculate volume delta on historical bars.
Alerts
The configuration of the marker conditions explained further is what determines the conditions that will trigger alerts created from this script. Note that simply selecting the display of markers does not create alerts. To create an alert on this script, you must use ALT-A from the chart. You can create multiple alerts triggering on different conditions from this same script; simply configure the markers so they define the trigger conditions for each alert before creating the alert. The configuration of the script's inputs is saved with the alert, so from then on you can change them without affecting the alert. Alert messages will mention the marker(s) that triggered the specific alert event. Keep in mind, when creating alerts on small chart timeframes, that discrepancies between alert triggers and markers displayed on your chart are to be expected. This is because the alert and your chart are running two distinct instances of the indicator on different servers and different feeds. Also keep in mind that while alerts only trigger on confirmed conditions, they are calculated using realtime calculation mode, which entails that if you refresh your chart and elapsed realtime bars recalculate as historical bars using intrabar inspection, markers will not appear in the same places they appeared in realtime. So it's important to understand that even though the alert conditions are confirmed when they trigger, these alerts will repaint.
Let's go through the sections of the script's inputs.
Columns
The size of the Buy/Sell columns always represents their respective importance on the bar, but the coloring mode for tops and bottoms is independent. The default setup uses a standard coloring mode where the Buy/Sell columns are always in the bull/bear color with a higher intensity for the winning side. Seven other coloring modes allow you to pack more information in the columns. When choosing to color the top columns using a bull/bear gradient on "Average Balance", for example, you will have bull/bear colored tops. In order for the color of the bottom columns to continue to show the instant bar balance, you can then choose the "On Bar Balance — Dual Solid Colors" coloring mode to make those bars the color of the winning side for that bar. You can display the averages of the Buy and Sell columns. If you do, its coloring is controlled through the "Line" and "Line fill" sections below.
Line and Line fill
You can select the calculation mode and the thickness of the line, and independent calculations to determine the line's color and fill.
Zero Line
The zero line can display dots when all five balances are bull/bear.
Divergences
You first select the detection mode. Divergences occur whenever the up/down direction of the signal does not match the up/down polarity of the bar. Divergences are used in three components of the indicator's visuals: the orange dot, colored chart bars, and to calculate the divergence levels on the line. The divergence levels are dynamic levels that automatically build from the line's values on divergence events. On consecutive divergences, the levels will expand, creating a channel. This implementation of the divergence levels corresponds to my view that divergences indicate anomalies, hesitations, points of uncertainty if you will. It precludes any attempt to identify a directional bias to divergences. Accordingly, the levels merely take note of divergence events and mark those points in time with levels. Traders then have a reference point from which they can evaluate further movement. The bull/bear/neutral colors used to plot the levels are also congruent with this view in that they are determined by the line's position relative to the levels, which is how I think divergences can be put to the most effective use. One of the coloring modes for the line's fill uses advances/declines in the line after divergence events.
Background
The background can show a bull/bear gradient on six different calculations. As with other gradients, you can adjust its brightness to make its importance proportional to how you use it in your analysis.
Chart bars
Chart bars can be colored using seven different methods. You have the option of emptying the body of bars where volume does not increase, as does my TLD indicator, and you can choose whether you want to show divergences.
Intrabar Timeframe
This is the intrabar timeframe that will be used to calculate volume delta using intrabar inspection on historical bars. You can choose between four modes. The three "Auto-steps" modes calculate, from the chart's timeframe, the intrabar timeframe where the said number of intrabars will make up the dilation of chart bars. Adjustments are made for non-24x7 markets. "Fixed" mode allows you to select the intrabar timeframe you want. Checking the "Show TF" box will display in the lower-right corner the intrabar timeframe used at any given moment. The proper selection of the intrabar timeframe is important. It must achieve maximal granularity to produce precise results while not unduly slowing down calculations, or worse, causing runtime errors. Note that historical depth will vary with the intrabar timeframe. The smaller the timeframe, the shallower historical plots you will be.
Markers
Markers appear when the required condition has been confirmed on a closed bar. The configuration of the markers when you create an alert is what determines when the alert will trigger. Five markers are available:
• Balances Agreement : All five balances are either bullish or bearish.
• Double Bumps : A double bump is two consecutive up/down bars with +/‒ volume delta, and rising Buy/Sell volume above its average.
• Divergence confirmations : A divergence is confirmed up/down when the chosen balance is up/down on the previous bar when that bar was down/up, and this bar is up/down.
• Balance Shifts : These are bull/bear transitions of the selected signal.
• Marker Bias Shifts : Marker bias shifts occur when it crosses into bull/bear territory.
Periods
Allows control over the periods of the different moving averages used to calculate the balances.
Volume Discrepancies
Stock exchanges do not report the same volume for intraday and daily (or higher) resolutions. Other variations in how volume information is reported can also occur in other markets, namely Forex, where volume irregularities can even occur between different intraday timeframes. This will cause discrepancies between the total volume on the bar at the chart's timeframe, and the total volume calculated by adding the volume of the intrabars in that bar's dilation. This does not necessarily invalidate the volume delta information calculated from intrabars, but it tells us that we are using partial volume data. A mechanism to detect chart vs intrabar timeframe volume discrepancies is provided. It allows you to define a threshold percentage above which the background will indicate a difference has been detected.
Other Settings
You can control here the display of the gray dot reminder on realtime bars, and the display of error messages if you are using a chart timeframe that is not greater than the fixed intrabar timeframe, when you use that mode. Disabling the message can be useful if you only use realtime mode at chart timeframes that do not support intrabar inspection.
█ RAMBLINGS
On Volume Delta
Volume is arguably the best complement to interpret price action, and I consider volume delta to be the most effective way of processing volume information. In periods of low-volatility price consolidations, volume will typically also be lower than normal, but slight imbalances in the trend of the buy/sell volume balance can sometimes help put early odds on the direction of the break from consolidation. Additionally, the progression of the volume imbalance can help determine the proximity of the breakout. I also find volume delta and the number of divergences very useful to evaluate the strength of trends. In trends, I am looking for "slow and steady", i.e., relatively low volatility and pauses where price action doesn't look like world affairs are being reassessed. In my personal mythology, this type of trend is often more resilient than high-volatility breakouts, especially when volume balance confirms the general agreement of traders signaled by the low-volatility usually accompanying this type of trend. The volume action on pauses will often help me decide between aggressively taking profits, tightening a stop or going for a longer-term movement. As for reversals, they generally occur in high-volatility areas where entering trades is more expensive and riskier. While the identification of counter-trend reversals fascinates many traders to no end, they represent poor opportunities in my view. Volume imbalances often precede reversals, but I prefer to use volume delta information to identify the areas following reversals where I can confirm them and make relatively low-cost entries with better odds.
On "Buy/Sell" Volume
Buying or selling volume are misnomers, as every unit of volume transacted is both bought and sold by two different traders. While this does not keep me from using the terms, there is no such thing as “buy only” or “sell only” volume. Trader lingo is riddled with peculiarities.
Divergences
The divergence detection method used here relies on a difference between the direction of a signal and the polarity (up/down) of a chart bar. When using the default "On Bar Balance" to detect divergences, however, only the bar's volume delta is used. You may wonder how there can be divergences between buying/selling volume information and price movement on one bar. This will sometimes be due to the calculation's shortcomings, but divergences may also occur in instances where because of order book structure, it takes less volume to increase the price of an asset than it takes to decrease it. As usual, divergences are points of interest because they reveal imbalances, which may or may not become turning points. To your pattern-hungry brain, the divergences displayed by this indicator will — as they do on other indicators — appear to often indicate turnarounds. My opinion is that reality is generally quite sobering and I have no reliable information that would tend to prove otherwise. Exercise caution when using them. Consequently, I do not share the overwhelming enthusiasm of traders in identifying bullish/bearish divergences. For me, the best course of action when a divergence occurs is to wait and see what happens from there. That is the rationale underlying how my divergence levels work; they take note of a signal's level when a divergence occurs, and it's the signal's behavior from that point on that determines if the post-divergence action is bullish/bearish.
Superfluity
In "The Bed of Procrustes", Nassim Nicholas Taleb writes: To bankrupt a fool, give him information . This indicator can display lots of information. While learning to use a new indicator inevitably requires an adaptation period where we put it through its paces and try out all its options, once you have become used to it and decide to adopt it, rigorously eliminate the components you don't use and configure the remaining ones so their visual prominence reflects their relative importance in your analysis. I tried to provide flexible options for traders to control this indicator's visuals for that exact reason — not for window dressing.
█ LIMITATIONS
• This script uses a special characteristic of the `security()` function allowing the inspection of intrabars — which is not officially supported by TradingView.
It has the advantage of permitting a more robust calculation of volume delta than other methods on historical bars, but also has its limits.
• Intrabar inspection only works on some chart timeframes: 3, 5, 10, 15 and 30 minutes, 1, 2, 3, 4, 6, and 12 hours, 1 day, 1 week and 1 month.
The script’s code can be modified to run on other resolutions.
• When the difference between the chart’s timeframe and the intrabar timeframe is too great, runtime errors will occur. The Auto-Steps selection mechanisms should avoid this.
• All volume is not created equally. Its source, components, quality and reliability will vary considerably with sectors and instruments.
The higher the quality, the more reliably volume delta information can be used to guide your decisions.
You should make it your responsibility to understand the volume information provided in the data feeds you use. It will help you make the most of volume delta.
█ NOTES
For traders
• The Data Window shows key values for the indicator.
• While this indicator displays some of the same information calculated in my Delta Volume Columns ,
I have elected to make it a separate publication so that traders continue to have a simpler alternative available to them. Both code bases will continue to evolve separately.
• All gradients used in this indicator determine their brightness intensities using advances/declines in the signal—not their relative position in a pre-determined scale.
• Volume delta being relative, by nature, it is particularly well-suited to Forex markets, as it filters out quite elegantly the cyclical volume data characterizing the sector.
If you are interested in volume delta, consider having a look at my other "Delta Volume" indicators:
• Delta Volume Realtime Action displays realtime volume delta and tick information on the chart.
• Delta Volume Candles builds volume delta candles on the chart.
• Delta Volume Columns is a simpler version of this indicator.
For coders
• I use the `f_c_gradientRelativePro()` from the PineCoders Color Gradient Framework to build my gradients.
This function has the advantage of allowing begin/end colors for both the bull and bear colors. It also allows us to define the number of steps allowed for each gradient.
I use this to modulate the gradients so they perform optimally on the combination of the signal used to calculate advances/declines,
but also the nature of the visual component the gradient applies to. I use fewer steps for choppy signals and when the gradient is used on discrete visual components
such as volume columns or chart bars.
• I use the PineCoders Coding Conventions for Pine to write my scripts.
• I used functions modified from the PineCoders MTF Selection Framework for the selection of timeframes.
█ THANKS TO:
— The devs from TradingView's Pine and other teams, and the PineCoders who collaborate with them. They are doing amazing work,
and much of what this indicator does could not be done without their recent improvements to Pine.
— A guy called Kuan who commented on a Backtest Rookies presentation of their Volume Profile indicator using a `for` loop.
This indicator started from the intrabar inspection technique illustrated in Kuan's snippet.
— theheirophant , my partner in the exploration of the sometimes weird abysses of `security()`’s behavior at intrabar timeframes.
— midtownsk8rguy , my brilliant companion in mining the depths of Pine graphics.
Senn System A"Senn System A" is a robust, all-in-one indicator engineered to enhance your market analysis by intelligently combining the power of Volume Weighted Average Price (VWAP) for range-bound conditions and Exponential Moving Average (EMA) Ribbons for trending environments. This script aims to provide traders with a clear, dynamic visual representation of market structure and momentum across multiple timeframes. A core feature allows you to select and display two distinct VWAP instances simultaneously, each anchoring to your choice of Daily, Weekly, Monthly, Quarterly, or Yearly periods. These VWAPs include clean, filled bands highlighting the area between Standard Deviation 1 and Standard Deviation 2, providing immediate visual cues for key price zones. Furthermore, a unique "Previous VWAP" feature, complete with its own selectable bands and fills, offers valuable historical context for understanding past price action relative to significant volume profiles.
Complementing the VWAP functionality, the indicator integrates an advanced EMA ribbon system, building upon the principles of effective trend visualization. You can customize the lengths of the primary EMA ribbon (defaulting to 25, 36, 50 periods) to suit your analysis of short to medium-term trends. Additionally, dedicated toggles enable the display of higher-timeframe trend ribbons, using EMAs of 100/200 for daily trend and 600/1200 for weekly trend. These ribbons are color-coded based on EMA crossovers, providing intuitive visual signals of trend direction and strength. The "Senn System A" is designed to be highly configurable, allowing traders to tailor the indicator's appearance and active components to their specific trading strategies and market conditions.
Exponential Action Map (EAM)### **Exponential Action Map (EAM) – Description and Differences from VPVR**
The Exponential Action Map (EAM) indicator is a Pine Script-based volume profile indicator that offers **a weighted representation of buying and selling activity**. Unlike the standard **Volume Profile Visible Range (VPVR)**, which simply shows traded volume at various price levels, the EAM provides the following additional features:
1. **Exponential Weighting**:
- Instead of treating the volume of all considered bars equally, the EAM uses a **decay factor** to gradually diminish the significance of older data. This allows **more recent price movements to have greater influence**, making it particularly useful for short-term analysis.
2. **Exponential Stealth Move (ESM)**:
- In addition to buy and sell volume, the EAM calculates and displays the **Exponential Stealth Move (ESM)**.
- This measures the relative price movement compared to volume and highlights areas where **significant price changes occur with low volume**, which may indicate institutional activity or strong momentum.
- The ESM visualization is not present in VPVR, making it a distinct and valuable feature.
3. **Visualization Methodology**:
- Instead of simple histograms like in VPVR, volume is represented by **dynamic boxes** that encompass Buy (EBA), Sell (ESA), and Stealth Move (ESM) activities.
- The size and color of these boxes are **customizable**, allowing for clear differentiation between various volume types.
4. **Flexibility & Configuration**:
- Users can adjust parameters such as **Number of Bars, Decay Factor, Bar Width, and Maximum History Data**.
- The ability to **toggle historical data visibility** offers a **tailored view** that VPVR does not provide.
**Conclusion:** The EAM extends the classic volume profile (VPVR) by introducing **time-weighted volume analysis and detection of Stealth Moves (ESM)**. This not only highlights price levels with high trading volume but also reveals **price movements with low liquidity**, which can potentially indicate institutional interest.
SMC Signal [Old Version]SMC Signal — Indicator Overview
The SMC Signal is a classic buy/sell signal indicator that predates the more advanced SMC Hybrid release. Due to popular demand from users who preferred the older signal approach, it has been brought back for those seeking a simpler, more direct style of analysis. Despite its simpler design, the indicator combines core elements of volume, price structure, and pivot-based support/resistance to help traders identify potential trade setups. It is compatible with all markets — Forex, Crypto, Stocks, Commodities—and can be applied on any timeframe.
Key Features
1.Straightforward Buy/Sell Signals
- Generates buy/sell signals using a proprietary algorithm (original version) that focuses on price movement and volume analysis.
- Employs internal filtering to reduce potential noise and deliver clearer signals.
2. Volume Profile & Supply/Demand Zones
- Highlights key levels including Point of Control (POC), Value Area High (VAH), Value Area Low (VAL), and low-volume zones.
- Low-volume zones act as preliminary Supply/Demand (Orderblock) areas where price may reverse or consolidate.
3. Pivot-Based Support/Resistance Lines
- Automatically plots dynamic support/resistance lines based on both quick and standard pivot highs/lows.
- Color-coded lines help visualize current price direction relative to these pivotal levels.
4. Fibonacci Discount/Premium Zones
- Identifies simple discount and premium regions (based on Fibonacci levels) where price may be considered undervalued or overvalued.
- Helps traders spot potential reversal or pullback points in line with volume-based levels.
5. Adaptable to All Timeframes & Markets
- Works seamlessly on any instrument (Forex, Crypto, Stocks, Commodities) and any timeframe.
- The indicator’s signals and levels dynamically adjust to reflect real-time market data.
6. Visual Trade Setup Table
- Includes an on-chart guide for trade setups, illustrating multiple strategies—from instant entry on signal triggers to waiting for price to interact with critical support/resistance zones.
- Assists traders in following disciplined rules and maintaining clarity in different market scenarios.
Application and Best Practices
1. Multi-Timeframe Alignment
- Use higher timeframes to identify the main market trend and cross-check signals on lower timeframes for precise entry/exit decisions.
2. Supply & Demand Confirmation
- Combine the buy/sell signals with supply/demand zone analysis and pivot-based support/resistance for higher-probability setups.
3. Risk Management
- Place stops and targets around significant volume nodes, pivot lines, or key Fibonacci levels.
- Adjust position sizing and monitor overall exposure to maintain consistent risk control.
4. Practice & Adaptation
- Since this is an older version, testing on a demo account is strongly recommended to ensure it aligns well with your trading style.
- Feel free to toggle features such as Volume Profile or Pivot Lines based on personal preference or market context.
Risk Disclaimer
The SMC Signal indicator is provided for educational and informational purposes only. It does not constitute financial or investment advice. Trading involves significant risk, and individuals should perform their own due diligence and consider consulting a licensed financial professional before making any investment decisions. The developer assumes no responsibility for any trading losses.
Summary
SMC Signal offers a more straightforward, yet powerful way to identify potential trading opportunities by combining volume profile, supply/demand basics, pivot-based S/R, and simple Fibonacci zones. While it lacks the advanced capabilities of the newer SMC Hybrid, it remains a solid choice for traders favoring a classic approach. Used wisely—alongside disciplined risk management and multi-timeframe analysis—it can still deliver robust insights for all market conditions.
Whispr IQ - Trading SystemWhispr IQ - Trading System
This advanced multi-component indicator combines several powerful analysis tools to provide a comprehensive view of market conditions and potential trading opportunities.
Key Components:
Kernel Regression Ribbon
Institutional Order Flow
Volume Profile
Order Blocks
Swing Points and Liquidity
Naked POC (Point of Control)
Fibonacci Levels
Zig Zag Patterns
Divergence Scanner
Squeeze Bands
How It Works:
Kernel Regression Ribbon
Uses kernel regression to create a smoothed ribbon of price action
Multiple timeframes analyzed to show short, medium and long-term trends
Color coding indicates bullish/bearish bias
Institutional Order Flow
Identifies areas of high volume and potential institutional activity
Highlights order blocks, liquidity levels, and fair value gaps
Helps visualize potential support/resistance zones
Volume Profile
Displays volume distribution at different price levels
Identifies high volume nodes and value areas
Useful for determining potential reversal points
Order Blocks
Highlights significant swing highs/lows with high volume
Indicates potential areas where large players may have placed orders
Useful for identifying key support/resistance levels
Swing Points and Liquidity
Marks major swing highs and lows
Highlights areas of potential liquidity buildup
Helps identify trend changes and potential reversal zones
Naked POC
Shows uncovered Points of Control from volume profile analysis
Indicates areas of high trading activity that price has moved away from
Potential magnet for price to return to
Fibonacci Levels
Plots key Fibonacci retracement and extension levels
Useful for identifying potential support, resistance and targets
Multiple Fibonacci sequences used for confirmation
Zig Zag Patterns
Identifies key swing highs and lows
Filters out minor price movements
Helps visualize overall trend structure
Divergence Scanner
Scans for regular and hidden divergences on multiple indicators
Signals potential trend reversals or continuations
Configurable to scan RSI, MACD, CCI and other oscillators
Squeeze Bands
Identifies periods of low volatility (squeezes)
Signals potential for explosive moves when volatility expands
Based on Bollinger Bands and Keltner Channel relationships
The Whispr IQ system combines all these elements to provide a holistic view of market conditions. Traders can use the various signals and overlays to identify high-probability trade setups, key support/resistance levels, trend direction on multiple timeframes, and potential reversals.
This indicator is designed for experienced traders who can interpret the multiple data points and use them in conjunction with their own analysis and risk management. It's a powerful tool that can enhance trading decisions when used properly as part of a complete trading plan.
Price-Volume w Trendline - Strategy [presentTrading]█ Introduction and How it is Different
The Price-Volume with Trendline Strategy is an innovative strategy that combines volume profile analysis, price-based Z-scores, and dynamic trendline filtering to identify optimal entry and exit points in the market. What sets this strategy apart is the integration of volume concentration (Point of Control or PoC) with dynamic volatility thresholds. Additionally, this strategy introduces a multi-step take profit (TP) mechanism that adjusts based on predefined levels, allowing traders to exit trades progressively while capitalizing on market momentum.
BTCUSD 6hr LS Performance
█ Strategy, How it Works: Detailed Explanation
The combination of multiple indicators and methodologies serves to create a more robust and reliable trading system. Each element is carefully chosen for its complementary role in providing accurate signals while minimizing false entries and exits. Here’s why the different components were chosen and how they work together:
- PoC and Z-Scores: The volume profile identifies key price areas, while the Z-score measures deviations from the mean. Together, they highlight points where the market is likely to react. For example, when the Z-score indicates an oversold condition near a PoC support level, it increases the probability of a reversal, providing a clear entry signal.
- Trendlines and Z-Scores: Trendlines serve as a secondary filter to ensure that price deviations identified by Z-scores align with broader market trends. This ensures that trades are only entered when the price has both deviated from its average and broken through a significant trendline level, reducing the likelihood of false signals.
- Multi-Step TP and Risk Management: Finally, the multi-step take profit logic works in tandem with the entry signals generated by the PoC, Z-scores, and trendlines. As the price moves in favor of the trade, profits are gradually locked in, ensuring the trader captures gains while still leaving room for further upside.
🔶 Point of Control (PoC) and Volume Profile Analysis
The PoC identifies the price level with the highest volume concentration within a specified lookback period. This price level represents where the most trading activity has occurred, often acting as a strong support or resistance. By breaking down the range into several rows (bins), the strategy identifies how much volume was traded at each price level.
🔶 Z-Score Calculation
The Z-score is a statistical metric that measures how far the current price is from its mean, expressed in terms of standard deviations. This is calculated both for price deviation and PoC-based deviation.
🔶 Trendline Breakout Filtering
The trendline filtering is a crucial aspect that refines entry signals by confirming trend continuation or reversals. It calculates trendlines based on pivot highs and lows using the selected method (e.g., ATR or standard deviation).
🔶 Multi-Step Take Profit
The multi-step take profit mechanism allows the strategy to take partial profits at several predefined levels. For example, when the price reaches 3%, 8%, 14%, or 21% above (or below) the entry price, it exits portions of the position. This is a useful technique for locking in profits as the market moves favorably.
Local
█ Usage
The Price-Volume with Trendline Strategy can be applied to various asset classes, including stocks, cryptocurrencies, and commodities. It is particularly effective in volatile markets where price deviations and volume concentrations signal potential reversals or trend continuations. By adjusting the settings for volatility and the lookback period, this strategy can be tailored to both short-term intraday trades and longer-term swing trades.
█ Default Settings
The default settings in the strategy play a vital role in shaping its performance.
- POC_lookbackLength (144): This defines the number of bars used to calculate the PoC. A longer lookback captures more data, leading to a more stable PoC, but may result in delayed signals. A shorter lookback increases responsiveness but may introduce noise.
- priceDeviationLength (200): This determines the period for calculating the standard deviation of price. A higher length smooths out the volatility, reducing the likelihood of false signals. Shorter lengths make the strategy more sensitive to sudden price movements.
- TL_length (14): Controls the swing detection period for trendline calculation. A shorter length will generate more frequent trendline breakouts, while a longer length captures only significant moves.
- Stop Loss and Take Profit: The strategy offers both fixed and SuperTrend-based stop losses. SuperTrend is adaptive to volatility, while fixed stop losses provide simpler risk control. The multi-step take profit ensures that profits are secured progressively, which can improve performance in trending markets by reducing the risk of full reversals.
Each of these settings can significantly affect the strategy’s risk-reward balance. For instance, increasing the stop loss level or the take profit percentages allows the strategy to stay in trades longer, potentially increasing profit per trade but at the cost of larger drawdowns. Conversely, tighter stops and smaller profit targets result in more frequent trades with lower average profit per trade.
Bitcoin Stalemate IndicatorThe Bitcoin Stalemate Indicator examines periods in the market defined by a combination of high volume and low price volatility. These periods are a bit like a tug-of-war with both sides applying a lot of force but the rope moving very little. Periods of high volume and low volatility suggest both sides of the trade are stuck in a stalemate. This indicator may be useful in identifying psychologically important price levels.
The mechanics of the indicator are fairly simple: the indicator takes the volume and divides it by the candle’s size over it’s close for that same period.
volume / ((high - low) / close)
Candles that move very little but with high volume will produce higher reads and vice versa. Finally a smoothing average is applied to clean up the noise.
Volume profiles from the top 6 exchanges are averaged in order to avoid a single exchange’s popularity acting as an overriding factor. Single exchanges can be isolated but are of lesser use. Heat map functionality is only active when all exchanges are selected.
.srb suiteThe essential suite Indicator.
that are well integrated to ensure visibility of essential items for trading.
it is very cumbersome to put symbol in the Tradingview chart and combine essential individual indicators one by one.
Moreover even with such a combination, the chart is messy and visibility is not good.
This is because each indicator is not designed with the others in mind.
This suite was developed as a composite-solution to that situation, and will make you happy.
designed to work in the same pane with open-source indicator by default.
Recommended visual order ; Back = .srb suite, Front = .srb suite vol & info
individually turn on/off only what you need on the screen.
BTC-agg. Volume
4 BTC-spot & 4 BTC-PERP volume aggregated.
It might helps you don't miss out on important volume flows.
Weighted to spot trading volume when using PERP+spot volume .
If enabled, BTC-agg.Vol automatically applied when selecting BTC-pair.
--> This is used in calculations involving volumes, such as VWAP.
Moving Average
1 x JMA trend ribbon ; Accurately follow short-term trend changes.
3 x EMA ribbon ; zone , not the line.
MA extension line ; It provide high visibility to recognize the direction of the MA.
SPECIAL TOOLS
VWAP with Standard Deviation Bands
VWAP ruler
BB regular (Dev. 2.0, 2.5)
BB Extented (Dev. 2.5, 3.0, 3.5)
Fixed Range Volume Profile ; steamlined one, performace tuned & update.
SPECIAL TOOLS - Auto Fibonacci Retracement - New GUI
'built-in auto FBR ' has been re-born
It shows - retracement Max top/ min bottom ; for higher visibility
It shows - current retracement position ; for higher visibility
The display of the Fib position that exceeds the regular range is auto-determined according to the price.
tradingview | chart setting > Appearance > Top margin 0%, Bottom margin 0% for optimized screen usage
tradingview | chart setting > Appearance > Right margin 57
.srb suite vol & info --> Visual Order > Bring to Front
.srb suite vol & info --> Pin to scale > No scale (Full-screen)
Visual order ; Back = .srb suite, Front = .srb suite vol & info
1. Fib.Retracement core is from tradingview built-in FBR ---> upgrade new-type GUI, and performance tuned.
2. Fixed-range volume-profile core is from the open-source one ---> some update & perf.tuned.
---------------------------------------------------------------------------------------------------------------------------------------
if you have any questions freely contact to me by message on tradingview.
but please understand that responses may be quite late.
Special thanks to all of contributors of community.
The script may be freely distributed under the MIT license.
Market Profile Fixed ViewSome instruments does not provide any volume information, therefore, as a fixed volume profile user, I needed a fixed market profile indicator to use the same principles, regardless of whether the volumes are available or not.
This script draws a market profile histogram corresponding to price variations within a specific duration, you only need to specify Start and End date/time values to see the histogram on your chart.
Details
Two lines corresponding to highest/lowest prices are displayed around the histogram
The redline corresponds to the POC (point of control)
Options
Start calculation
End calculation
Bars number (histogram resolution, currently locked to a max value of 50 bars)
Display side/Width (allows to modify size of bars, to the left or to the right)
Bars/Borders/POC Color customization
Notes
This script will probably be updated (to add VAH/VAL zones, and maybe other options). However, some common market profile attributes have not been implemented yet since I don't really use them)